【发布时间】:2018-02-09 10:32:33
【问题描述】:
在 boto 上,我曾经在以这种方式连接到 S3 时指定我的凭据:
import boto
from boto.s3.connection import Key, S3Connection
S3 = S3Connection( settings.AWS_SERVER_PUBLIC_KEY, settings.AWS_SERVER_SECRET_KEY )
然后我可以使用 S3 来执行我的操作(在我的例子中,从存储桶中删除一个对象)。
使用 boto3,我找到的所有示例都是这样的:
import boto3
S3 = boto3.resource( 's3' )
S3.Object( bucket_name, key_name ).delete()
我无法指定我的凭据,因此所有尝试都失败并出现 InvalidAccessKeyId 错误。
如何使用 boto3 指定凭据?
【问题讨论】:
-
这个答案可能对你有帮助:stackoverflow.com/a/36913771/2681632
-
参见官方文档中的“配置凭证”部分:boto3.readthedocs.io/en/latest/guide/configuration.html
-
我觉得将其称为“AWS_SERVER_PUBLIC_KEY”非常奇怪。该名称是“访问密钥 ID”,与密钥对的公共部分无关。此外,对 s3 之类的服务的访问不应与服务器(主机)访问混淆。而且我建议不要让这个密钥 id 公开(即使它单独无用)
标签: python amazon-web-services amazon-s3 boto3