Как выбрать профиль AWS при использовании boto3 для подключения к CloudFront
Я использую библиотеку python Boto 3 и хочу подключиться к AWS CloudFront.
Мне нужно указать правильный профиль AWS (AWS Credentials), но, смотря на официальную документацию, я не вижу способа указать его.
Я инициализирую клиента, используя код:
client = boto3.client('cloudfront')
Однако, это приводит к этому, используя профиль по умолчанию для подключения.
Я не мог найти метод, где я могу указать, какой профиль использовать.
Ответы
Ответ 1
Я думаю, что документы не удивительны в том, чтобы разоблачить, как это сделать. Тем не менее, эта функция поддерживается в течение некоторого времени, и в этом тяговом запросе есть несколько деталей. Итак, есть три способа сделать это:
-
Создайте новый сеанс с профилем
dev = boto3.session.Session(profile_name='dev')
-
Измените профиль сеанса по умолчанию в коде
boto3.setup_default_session(profile_name='dev')
-
Измените профиль сеанса по умолчанию с переменной среды
$ AWS_PROFILE=dev ipython
>>> import boto3
>>> s3dev = boto3.resource('s3')
Ответ 2
Сделайте это, чтобы использовать профиль с именем 'dev':
session = boto3.session.Session(profile_name='dev')
s3 = session.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)