
# OBS客户端初始化(HarmonyOS SDK)
#### 功能说明
ObsClient是访问OBS服务的Harmony客户端，它为调用者提供一系列与OBS服务进行交互的接口，用于管理、操作桶（Bucket）和对象（Object）等OBS服务上的资源。使用OBS HarmonyOS SDK向OBS发起请求，您需要初始化一个ObsClient实例，并根据需要调整客户端配置参数。
#### 方法定义
```
new ObsClient(config: ObsClientConfig)
```
#### 参数描述
表1ObsClientConfig 
| **参数名称**        | **参数类型**           | **是否必选**        | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| AccessKeyId     | string             | 可选              | **参数解释** **：** 访问密钥中的AK。获取方式请参考[准备访问密钥](https://support.huaweicloud.com/sdk-harmony-devg-obs/obs_34_0650.html#obs_34_0650__section5880510153518)。 **约束限制：** 无 **默认取值：** 无，表示匿名用户。                                                                                                                            |
| SecretAccessKey | string             | 可选              | **参数解释** **：** 访问密钥中的SK。获取方式请参考[准备访问密钥](https://support.huaweicloud.com/sdk-harmony-devg-obs/obs_34_0650.html#obs_34_0650__section5880510153518)。 **约束限制：** 无 **默认取值：** 无，表示匿名用户。                                                                                                                           |
| SecurityToken   | string             | 可选，使用临时访问密钥时必选。 | **参数解释** **：** 临时访问密钥中的SecurityToken。 如何获取临时访问密钥和securitytoken请参见[临时访问密钥AK/SK](https://support.huaweicloud.com/api-iam/iam_04_0002.html)获取。 **默认取值：** 无，表示匿名用户                                                                                                                                                                            |
| Server          | string             | 必选              | **参数解释** **：** 连接OBS的服务地址。包含协议类型、域名（或IP）、端口号。示例：https://your-endpoint:443。（出于安全性考虑，建议使用https协议）。 您可以从[这里](https://developer.huaweicloud.com/endpoint?OBS)查看OBS当前开通的服务地址。                                                                                                                                                                                                                               |
| Timeout         | number             | 可选              | **参数解释**： HTTP/HTTPS请求的总超时时间。 说明： 如网络状况不佳或者上传文件较大，建议增大Timeout的值。 **约束限制：** 无 **取值范围：** 0\~（2^31^-1），单位：秒。 **默认取值：** 300，单位：秒。                                                             |
| IsCname         | boolean            | 可选              | **参数解释**： 是否通过自定义域名访问OBS服务。 **约束限制：** 无 **取值范围：** - true：使用自定义域名访问OBS服务。  - false：不使用自定义域名访问OBS服务。   **默认取值：** false |
| ProxyHost       | string             | 可选              | **参数解释：** 代理服务器地址。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                        |
| ProxyPort       | string             | 可选              | **参数解释：** 代理服务器地址端口。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                        |
| ProxyUsername   | string             | 可选              | **参数解释**： 代理服务器用户凭证名。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                        |
| ProxyPassword   | string             | 可选              | **参数解释**： 代理服务器用户凭证密码。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                     |
| NoProxyList     | string\|string\[\] | 可选              | **参数解释**： 代理服务器白名单。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                         |
| KeepAlive       | boolean            | 可选              | **参数解释**： 是否使用长链接。 **约束限制：** 无 **取值范围：** - true：使用长链接方式访问OBS服务。  - false：使用短链接方式访问OBS服务。   **默认取值：** true        |
   
#### 代码示例
使用永久访问密钥（AK/SK）创建OBS客户端。
```
// 引入依赖包
import ObsClient from '@obs/esdk-obs-harmony';
import { process } from '@kit.ArkTS';
const processManager = new process.ProcessManager();
// 创建ObsClient实例
const obsClient = new ObsClient({
  // 推荐通过环境变量获取AKSK，这里也可以使用其他外部引入方式传入，如果使用硬编码可能会存在泄露风险
  // 您可以登录访问管理控制台获取访问密钥AK/SK，获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
  AccessKeyId: processManager.getEnvironmentVar("ACCESS_KEY_ID"),
  SecretAccessKey: processManager.getEnvironmentVar("SECRET_ACCESS_KEY"),
  // 【可选】如果使用临时AK/SK和SecurityToken访问OBS，同样建议您尽量避免使用硬编码，以降低信息泄露风险。您可以通过环境变量获取访问密钥AK/SK，也可以使用其他外部引入方式传入
  // SecurityToken: processManager.getEnvironmentVar("SECURITY_TOKEN"),
  // Server填写Bucket对应的Endpoint, 这里以华北-北京四为例，其他地区请按实际情况填写
  Server: "https://obs.cn-north-4.myhuaweicloud.com",
  // 请求超时时间，以60秒为例
  Timeout: 60,
  // 是否使用自定义域名访问obs
  IsCname: false,
});
```
