使用boto3连接CloudFron时如何选择AWS配置文件

2024-09-29 00:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Boto 3 python库,希望连接到AWS CloudFront。 我需要指定正确的AWS配置文件(AWS凭据),但是查看官方文档,我看不到指定它的方法。

我正在使用以下代码初始化客户端: client = boto3.client('cloudfront')

但是,这会导致它使用默认配置文件进行连接。 我找不到可以指定使用哪个配置文件的方法。


Tags: 方法代码文档clientaws客户端官方配置文件
3条回答

执行此操作以使用名为“dev”的配置文件:

session = boto3.session.Session(profile_name='dev')
s3 = session.resource('s3')
for bucket in s3.buckets.all():
    print(bucket.name)

我认为医生不擅长揭露如何做到这一点。但是,它已经是一个受支持的特性有一段时间了,在这个pull request中有一些细节。有三种方法可以做到这一点:

a)使用配置文件创建新会话

    dev = boto3.session.Session(profile_name='dev')

b)在代码中更改默认会话的配置文件

    boto3.setup_default_session(profile_name='dev')

c)使用环境变量更改默认会话的配置文件

    $ AWS_PROFILE=dev ipython
    >>> import boto3
    >>> s3dev = boto3.resource('s3')

boto3文档的This section很有帮助。

以下是对我有用的:

session = boto3.Session(profile_name='dev')
client = session.client('cloudfront')

相关问题 更多 >