对象存储服务 OBS-生成带授权信息的表单上传参数(Python SDK):代码样例
时间:2025-02-12 15:00:46
代码样例
此用例用于生成带授权信息的表单上传参数policy和signature。
1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930 |
from obs import ObsClientimport osimport traceback# 推荐通过环境变量获取AKSK,这里也可以使用其他外部引入方式传入,如果使用硬编码可能会存在泄露风险# 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.htmlak = os.getenv("AccessKeyID")sk = os.getenv("SecretAccessKey")# 【可选】如果使用临时AKSK和SecurityToken访问OBS,则同样推荐通过环境变量获取# security_token = os.getenv("SecurityToken")# server填写Bucket对应的Endpoint, 这里以华北-北京四为例,其他地区请按实际情况填写server = "https://obs.cn-north-4.myhuaweicloud.com"# 创建obsClient实例# 如果使用临时AKSK和SecurityToken访问OBS,需要在创建实例时通过security_token参数指定securityToken值obsClient = ObsClient(access_key_id=ak, secret_access_key=sk, server=server)try: bucketName = "examplebucket" objectKey = "objectname" # 设置表单上传请求有效期,单位:秒,此处以3600秒为例 expires = 3600 # 除key,policy,signature外,表单上传时的其他参数,此处设置acl为私有、content-type为text/plain formParams = {'x-obs-acl': 'private', 'content-type': 'text/plain'} # 生成带授权信息的表单上传参数 resp = obsClient.createPostSignature(bucketName, objectKey, expires, formParams) print('originPolicy:', resp.originPolicy) print('policy:', resp.policy) print('signature:', resp.signature)except: print(traceback.format_exc()) |
support.huaweicloud.com/sdk-python-devg-obs/obs_22_1302.html