我尝试使用以下代码在Bluemix对象存储中使用S3 API:
import boto3, pprint, sys;
s3 = boto3.Session().client(
service_name="s3",
region_name="us-geo",
endpoint_url="https://s3-api.us-geo.objectstorage.softlayer.net",
aws_access_key_id="auto-generated-apikey-<redacted>",
aws_secret_access_key="<redacted>");
pprint.pprint(s3.list_buckets());
但不断收到AccessDenied错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<Resource></Resource>
<RequestId><redacted></RequestId>
<httpStatusCode>403</httpStatusCode>
</Error>
我从&#34; Service Credentials&#34;中获取了aws_access_key_id和aws_secret_access_key。标签。我在AWS S3上使用了类似的代码,但它确实有效。我错过了什么?
答案 0 :(得分:1)
启用IAM的cos使用稍微不同的语法来创建boto3库的fork支持的客户端创建。
以下是文档中的示例:https://console.bluemix.net/docs/services/cloud-object-storage/libraries/python.html