如何向Bluemix S3 Lite进行身份验证?

时间:2017-10-21 16:10:28

标签: ibm-cloud object-storage

我尝试使用以下代码在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上使用了类似的代码,但它确实有效。我错过了什么?

1 个答案:

答案 0 :(得分:1)

启用IAM的cos使用稍微不同的语法来创建boto3库的fork支持的客户端创建。

以下是文档中的示例:https://console.bluemix.net/docs/services/cloud-object-storage/libraries/python.html