
# obs_options
 表1obs_options 
| **参数名称**        | **参数类型**                                                  | **是否必选** | **描述**                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| bucket_options  | [obs_bucket_context]         | 必选       | **参数解释：** 桶相关设置。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无         |
| request_options | [obs_http_request_option]    | 必选       | **参数解释：** 请求相关设置。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                        |
| temp_auth       | [temp_auth_configure]\* | 可选       | **参数解释：** 用于临时计算签名的结构体，不使用时请设置为NULL。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无 |
   
 表2obs_bucket_context 
| **参数名称**          | **参数类型**                                                                                                             | **是否必选** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| host_name         | char \*                                                                                                              | 必选       | **参数解释** **：** 连接OBS的服务地址，请求使用的主机名，是指存放资源的服务器的域名，就是终端节点endpoint。 示例：host_name = "obs.cn-north-4.myhuaweicloud.com";   您可以从[这里](https://developer.huaweicloud.com/endpoint?OBS)查看OBS当前开通的服务地址。 **约束限制：** 不需要带"http://"或"https://"前缀，通过obs_protocol控制是使用http协议还是https协议。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| bucket_name       | char \*                                                                                                              | 必选       | **参数解释** **：** 桶名。 **约束限制：** - 桶的名字需全局唯一，不能与已有的任何桶名称重复，包括其他用户创建的桶。  - 桶命名规则如下： - 3～63个字符，数字或字母开头，支持小写字母、数字、"-"、"."。  - 禁止使用IP地址。  - 禁止以"-"或"."开头及结尾。  - 禁止两个"."相邻（如："my..bucket"）。  - 禁止"."和"-"相邻（如："my-.bucket"和"my.-bucket"）。    - 同一用户在同一个区域多次创建同名桶不会报错，创建的桶属性以第一次请求为准。   **默认取值：** 无 |
| useCname          | bool                                                                                                                 | 可选       | **参数解释** **：** 是否通过自定义域名访问OBS服务。 **约束限制：** 无 **取值范围：** true：通过自定义域名访问OBS服务。 false：不通过自定义域名访问OBS服务。 **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| protocol          | [obs_protocol]                                                                      | 可选       | **参数解释** **：** 是使用http协议还是https协议。 **约束限制：** 无 **默认取值：** OBS_PROTOCOL_HTTPS（默认使用https协议）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| access_key        | char \*                                                                                                              | 必选       | **参数解释：** 访问密钥中的AK。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| secret_access_key | char \*                                                                                                              | 必选       | **参数解释：** 访问密钥中的SK。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| storage_class     | [obs_storage_class](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0091.html#obs_20_0091__table1958174392710) | 可选       | **参数解释** **：** 创建桶时可指定的桶的存储类别。 **取值范围：** 可选择的访问策略选项参见[obs_storage_class](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0091.html#obs_20_0091__table1958174392710)。 **默认取值：** OBS_STORAGE_CLASS_STANDARD（指标准存储类别）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| token             | char \*                                                                                                              | 可选       | **参数解释：** 临时访问密钥中的SecurityToken。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| epid              | char \*                                                                                                              | 可选       | **参数解释** **：** 创建桶时可指定的企业项目ID，开通企业项目的用户可以从企业项目服务获取。 **约束限制：** epid格式为uuid，未开通企业项目的用户可以不带该头域。 示例：9892d768-2d13-450f-aac7-ed0e44c2585f **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| bucket_type       | [obs_bucket_type]                                                                       | 可选       | **参数解释** **：** 创建桶时，指定是对象桶还是并行文件系统。 **约束限制：** 无 **默认取值：** OBS_BUCKET_OBJECT（指对象桶）                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| bucket_list_type  | [obs_bucket_list_type]                                                               | 可选       | **参数解释** **：** 列举桶时，确定列举桶的类型：所有桶、对象桶、并行文件系统。 **约束限制：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
 表3obs_http_request_option 
| **参数名称**           | **参数类型** | **是否必选** | **描述**                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| connect_time       | int      | 必选       | **参数解释** **：** 建立HTTP/HTTPS连接的超时时间（单位：毫秒）。 **约束限制：** 无 **取值范围：** \[10000, 60000\] **默认取值：** 60000 |
| max_connected_time | int      | 必选       | **参数解释** **：** 请求超时时间（单位：秒）。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 0（指永远不会主动断开连接）                         |
| proxy_auth         | char\*   | 可选       | **参数解释** **：** 代理认证信息，格式为username:password。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                        |
| proxy_host         | char\*   | 可选       | **参数解释** **：** 代理服务器的IP地址或主机名。 **约束限制：** 无 **取值范围：** 无 **默认取值：** 无                                |
   
 表4obs_protocol 
| **常量名**            | **原始值** | **说明**       |
|:---|:---|:---|
| OBS_PROTOCOL_HTTPS | https   | 使用https协议访问。 |
| OBS_PROTOCOL_HTTP  | http    | 使用http协议访问。  |
   
 表5obs_bucket_type 
| **常量名**           | **原始值** | **说明**  |
|:---|:---|:---|
| OBS_BUCKET_OBJECT | OBJECT  | 对象桶。    |
| OBS_BUCKET_PFS    | POSIX   | 并行文件系统。 |
   
 表6obs_bucket_list_type 
| **常量名**                | **原始值** | **说明**      |
|:---|:---|:---|
| OBS_BUCKET_LIST_ALL    | 不发送头域   | 列举所有桶。      |
| OBS_BUCKET_LIST_OBJECT | OBJECT  | 列举所有对象桶。    |
| OBS_BUCKET_LIST_PFS    | POSIX   | 列举所有并行文件系统。 |
   
 表7temp_auth_configure 
| **参数名称**           | **参数类型**                                                                                                      | **是否必选** | **描述**                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| expires            | long long int                                                                                                 | 必选       | **参数解释：** 临时鉴权的有效期（单位：秒）。 **约束限制：** 无 **取值范围：** \[0-630720000\] **默认取值**： 无        |
| temp_auth_callback | void (\*[temp_auth_callback])(char \*, uint64_t, char \*, uint64_t, void \*) | 必选       | **参数解释：** 用户自定义回调函数指针，用于将临时url以及涉及的计算签名头域记录到用户自定义回调数据中。 **约束限制：** 无 **取值范围：** 无 **默认取值**： 无 |
| callback_data      | void \*                                                                                                       | 必选       | **参数解释：** 用户自定义回调数据。 **约束限制：** 无 **取值范围：** 无 **默认取值**： 无                               |
   
 表8temp_auth_callback 
| **参数名称**              | **参数类型** | **是否必选** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| temp_auth_url         | char \*  | 必选       | **参数解释：** 临时鉴权的URL。OBS服务支持用户构造一个特定操作的URL，这个URL的Query参数中会包含用户AK、签名、有效期等信息，任何拿到这个URL的人均可执行临时鉴权操作，OBS服务收到这个请求后认为该请求就是签发URL用户自己在执行操作。例如构造一个携带签名信息的下载对象的URL，拿到相应URL的人都能下载这个对象，但该URL只在Expires指定的失效时间内有效。 **约束限制：** 无 **取值范围：** 无 **默认取值**： 无 |
| temp_auth_url_len     | uint64_t | 必选       | **参数解释：** 临时鉴权的URL的长度。 **约束限制：** 无 **取值范围：** 无 **默认取值**： 无                                                                                                                                                                               |
| temp_auth_headers     | char \*  | 必选       | **参数解释：** 临时鉴权的headers。 **约束限制：** 无 **取值范围：** 无 **默认取值**： 无                                                                                                                                                                            |
| temp_auth_headers_len | uint64_t | 必选       | **参数解释：** 临时鉴权headers的缓冲区长度（字节数）。 **约束限制：** 无 **取值范围：** 无 **默认取值**： 无                                                                                                                                                                 |
| callback_data         | void \*  | 必选       | **参数解释：** 用户自定义回调数据。 **约束限制：** 无 **取值范围：** 无 **默认取值**： 无                                                                                                                                                                                  |
   
