连接到boto3 S3时如何指定凭据?

发布于 2021-01-29 18:18:14

在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指定凭据?

关注者
0
被浏览
199
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以创建一个会话

    import boto3
    session = boto3.Session(
        aws_access_key_id=settings.AWS_SERVER_PUBLIC_KEY,
        aws_secret_access_key=settings.AWS_SERVER_SECRET_KEY,
    )
    

    然后使用该会话获取S3资源:

    s3 = session.resource('s3')
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看