
# ObsClient初始化
#### 功能说明
ObsClient是访问OBS服务的PHP客户端，它为调用者提供一系列与OBS服务进行交互的接口，用于管理、操作桶（Bucket）和对象（Object）等OBS服务上的资源。
#### 命名空间
| **类名**        | **父命名空间** |
|:---|:---|
| **ObsClient** | Obs       |
   
#### 方法定义
```
1.构造函数形式：ObsClient(array $parameter)
2.工厂方法形式：ObsClient::factory(array $parameter)
```
#### 参数描述
| **字段名**         | **类型**                                                                       | **约束** | **说明**                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| key             | string                                                                       | 必选     | 访问密钥中的AK。                                                                                                                                                                                                                                                                                                                                                 |
| secret          | string                                                                       | 必选     | 访问密钥中的SK。                                                                                                                                                                                                                                                                                                                                                 |
| endpoint        | string                                                                       | 必选     | 连接OBS的服务地址。包含协议类型、域名（或IP）、端口号。示例：https://your-endpoint:443。 您可以从[这里](https://developer.huaweicloud.com/endpoint?OBS)查看OBS当前开通的服务地址。                                                                                                                                                                                        |
| ssl_verify      | boolean 或 string | 可选     | 验证服务端证书参数。可能的取值： - 服务端pem格式根证书文件路径；  - true：使用默认的CAs验证服务端证书；  - false：表示不验证服务端证书。   默认为false。 |
| max_retry_count | integer                                                                      | 可选     | HTTP/HTTPS连接异常时的请求重试次数。默认为3次。                                                                                                                                                                                                                                                                                                                             |
| socket_timeout  | integer                                                                      | 可选     | Socket层传输数据的超时时间（单位：秒）。默认为60秒。                                                                                                                                                                                                                                                                                                                            |
| connect_timeout | integer                                                                      | 可选     | 建立HTTP/HTTPS连接的超时时间（单位：秒）。默认为60秒。                                                                                                                                                                                                                                                                                                                         |
| chunk_size      | integer                                                                      | 可选     | 读socket流时的块大小（单位：字节）。默认为65536字节。                                                                                                                                                                                                                                                                                                                          |
   
#### 代码样例
```
// 引入依赖库
require 'vendor/autoload.php';
// 使用源码安装时引入SDK代码库
// require 'obs-autoloader.php';
// 声明命名空间
use Obs\ObsClient;
// 创建ObsClient实例
$obsClient = new ObsClient([
      //推荐通过环境变量获取AKSK，这里也可以使用其他外部引入方式传入，如果使用硬编码可能会存在泄露风险。
      //您可以登录访问管理控制台获取访问密钥AK/SK，获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
      'key' => getenv('ACCESS_KEY_ID'),
      'secret' => getenv('SECRET_ACCESS_KEY'),
      'endpoint' => 'https://your-endpoint',
      'ssl_verify' => false,
      'max_retry_count' => 1,
      'socket_timeout' => 20,
      'connect_timeout' => 20,
      'chunk_size' => 8196
]);
```
