繁体   English   中英

Python:如何为IBM Cloud Object Storage生成预签名URL?

[英]Python: How do I generate presigned URLs for IBM Cloud Object Storage?

我按照此信息为我的IBM Cloud Object Storage(COS)实例创建HMAC密钥。 我正在使用适用于IBM COSPython SDK 如何创建预签名的URI(链接),以便用户无需身份验证即可上传或下载文件?

我正在尝试将HMAC凭据作为客户端参数的一部分提供,但是收到如下错误:

_record_user_provided_options中的文件“ /usr/lib/python2.7/site-packages/ibm_botocore/config.py”,第142行'得到了意外的关键字参数\\'%s \\'%键)TypeError:得到了意外的关键字参数'cos_hmac_keys “

这是HMAC密钥结构:

"cos_hmac_keys": {
    "access_key_id": "dfe869efasdasd",
    "secret_access_key": "f04e500a66asdasdasd5bfd34c82"
  }

我发现COS S3客户端正在从IBM Cloud配置目录中读取HMAC凭证,或者您必须以不同的名称传递它们:

cos = ibm_boto3.client('s3', myserviceapikey, endpoint_url=myendpointurl, aws_access_key_id=config["cos_hmac_keys"]["access_key_id"], aws_secret_access_key=config["cos_hmac_keys"]["secret_access_key"])

基本上,我必须将cos_hmac_keys.access_key_id映射到aws_access_key_id并将cos_hmac_keys.secret_access_keyaws_secret_access_key

初始化该COS客户端后,即可创建预签名的URI:

theURL=cos.generate_presigned_url('get_object', Params = {'Bucket': mybucket, 'Key': myobject}, ExpiresIn = 600)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM