更新时间:2022-09-30 GMT+08:00
快速使用SDK
创建AK、SK
OBS通过用户帐户中的AK和SK进行签名验证,确保通过授权的帐户才能访问指定的OBS资源。以下是对AK和SK的解释说明:
- AK:Access Key ID,接入键标识,用户在对象存储服务系统中的接入键标识,一个接入键标识唯一对应一个用户,一个用户可以同时拥有多个接入键标识。对象存储服务系统通过接入键标识识别访问系统的用户。
- SK:Secret Access Key,安全接入键,用户在对象存储服务系统中的安全接入键,是用户访问对象存储服务系统的密钥,用户根据安全接入键和请求头域生成鉴权信息。安全接入键和接入键标识一一对应。
创建访问密钥的操作步骤如下:
- 登录管理控制台。
- 单击页面右上角的用户名,并选择“我的凭证”。
- 在“我的凭证”页面,单击左侧导航栏的“访问密钥”。
- 在“访问密钥”页面,单击“新增访问密钥”。
- 在弹出的“新增访问密钥”对话框中,输入描述内容(建议),单击“确定”。
- (可选)在弹出的“身份验证”对话框中,选择合适的验证方式进行验证,单击“确定”。
- 在弹出的“创建成功”提示框中,单击“立即下载”后,密钥会直接保存到浏览器默认的下载文件夹中。
- 打开下载下来的“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全局命名空间,相当于数据的容器、文件系统的根目录,可以存储若干对象。以下代码展示如何新建一个桶:
# 调用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”)。
- 同一用户多次创建同名桶不会报错,创建的桶属性以第一次请求为准。
- 更多创建桶的信息,请参见创建桶。
上传对象
以下代码展示如何上传对象至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)



