更新时间:2022-09-30 GMT+08:00
分享

快速使用SDK

创建AK、SK

OBS通过用户帐户中的AK和SK进行签名验证,确保通过授权的帐户才能访问指定的OBS资源。以下是对AK和SK的解释说明:

  • AK:Access Key ID,接入键标识,用户在对象存储服务系统中的接入键标识,一个接入键标识唯一对应一个用户,一个用户可以同时拥有多个接入键标识。对象存储服务系统通过接入键标识识别访问系统的用户。
  • SK:Secret Access Key,安全接入键,用户在对象存储服务系统中的安全接入键,是用户访问对象存储服务系统的密钥,用户根据安全接入键和请求头域生成鉴权信息。安全接入键和接入键标识一一对应。

创建访问密钥的操作步骤如下:

  1. 登录管理控制台
  2. 单击页面右上角的用户名,并选择“我的凭证”。
  3. 在“我的凭证”页面,单击左侧导航栏的“访问密钥”。
  4. 在“访问密钥”页面,单击“新增访问密钥”。

    每个用户最多可创建两个有效的访问密钥。

  5. 在弹出的“新增访问密钥”对话框中,输入描述内容(建议),单击“确定”。

  6. (可选)在弹出的“身份验证”对话框中,选择合适的验证方式进行验证,单击“确定”。

  7. 在弹出的“创建成功”提示框中,单击“立即下载”后,密钥会直接保存到浏览器默认的下载文件夹中。

  8. 打开下载下来的“credentials.csv”文件既可获取到访问密钥(AK和SK)。
  • 在密钥文件中,Access Key ID列对应的值即AK,Secret Access Key列对应的值即SK。
  • 为防止访问密钥泄露,建议您将其保存到安全的位置。如果用户在此提示框中单击“取消”,则不会下载密钥,后续也将无法重新下载。如果需要使用访问密钥,可以重新创建新的访问密钥。

获取服务地址

  • 您可以从这里查看OBS当前开通的服务地址和区域信息。

SDK支持带协议名和不带协议名两种方式传入服务地址,例如获取到的服务地址为“your-endpoint”,则初始化OBS客户端时传入的服务地址可以为“http://your-endpoint”、“https://your-endpoint”和“your-endpoint”三种形式。

初始化OBS客户端

向OBS发送任一HTTP/HTTPS请求之前,必须先创建一个ObsClient实例:
# 引入模块
from obs import ObsClient

# 创建ObsClient实例
obsClient = ObsClient(
    access_key_id='*** Provide your Access Key ***',    
    secret_access_key='*** Provide your Secret Key ***',    
    server='https://your-endpoint'
)
# 使用访问OBS

# 关闭obsClient
obsClient.close()

更多关于OBS客户端初始化的内容请参考“初始化”章节。

日志配置详见日志初始化

创建桶

桶是OBS全局命名空间,相当于数据的容器、文件系统的根目录,可以存储若干对象。以下代码展示如何新建一个桶:
# 调用createBucket创建桶
resp = obsClient.createBucket('bucketname')
if resp.status < 300:
    # 输出请求Id    
    print('requestId:', resp.requestId)
else: 
    # 输出错误码   
    print('errorCode:', resp.errorCode)
    # 输出错误信息
    print('errorMessage:', resp.errorMessage)
  • 桶的名字是全局唯一的,所以您需要确保不与已有的桶名称重复。
  • 桶命名规则如下:
    • 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
    • 禁止使用类IP地址。
    • 禁止以“-”或“.”开头及结尾。
    • 禁止两个“.”相邻(如:“my..bucket”)。
    • 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
  • 同一用户多次创建同名桶不会报错,创建的桶属性以第一次请求为准。
  • 更多创建桶的信息,请参见创建桶
  • 创建桶时,如果使用的终端节点归属于默认区域华北-北京一(cn-north-1),则可以不指定区域;如果使用的终端节点归属于其他区域,则必须指定区域,且指定的区域必须与终端节点归属的区域一致。当前有效的区域名称可从这里查询。
  • 您可以使用带参数创建方式,在创建桶时,指定桶的区域位置,详情请参考创建桶

上传对象

以下代码展示如何上传对象至OBS:
# 调用putContent接口上传对象到桶内
resp = obsClient.putContent('bucketname', 'objectname', 'Hello OBS')
if resp.status < 300:    
    # 输出请求Id
    print('requestId:', resp.requestId)
else:    
    # 输出错误码
    print('errorCode:', resp.errorCode)
    # 输出错误信息
    print('errorMessage:', resp.errorMessage)

更多上传对象的信息,请参见上传对象

分享:

    相关文档

    相关产品