Как выбрать профиль AWS при использовании boto3 для подключения к CloudFront

Я использую библиотеку python Boto 3 и хочу подключиться к AWS CloudFront. Мне нужно указать правильный профиль AWS (AWS Credentials), но, глядя на официальную документацию, я не вижу способа указать его.

Я инициализирую клиента, используя код: client = boto3.client('cloudfront')

Однако это приводит к этому, используя профиль по умолчанию для подключения. Я не мог найти метод, где я могу указать, какой профиль использовать.

  • boto3 поиск неиспользуемых групп безопасности
  • Ошибка соединения python boto3 без видимой причины
  • Разница между ресурсом, клиентом и сеансом ..?
  • Как обновить метаданные существующего объекта в AWS S3 с помощью python boto3?
  • Mocking boto3 S3 клиентский метод Python
  • Как использовать botocore.response.StreamingBody как stdin PIPE
  • Boto3 для загрузки всех файлов из ведра S3
  • Boto3 S3: получить файлы без получения папок
  • 2 Solutions collect form web for “Как выбрать профиль AWS при использовании boto3 для подключения к CloudFront”

    Я думаю, что документы не удивительны в том, чтобы разоблачить, как это сделать. Тем не менее, эта функция поддерживается в течение некоторого времени, и в этом запросе на растяжение есть некоторые детали. Итак, есть три способа сделать это:

    1. Создать новый сеанс с профилем

       dev = boto3.session.Session(profile_name='dev') 
    2. Изменение профиля сеанса по умолчанию в коде

       boto3.setup_default_session(profile_name='dev') 
    3. Изменение профиля сеанса по умолчанию с переменной окружения

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

    Сделайте это, чтобы использовать профиль с именем «dev»:

     session = boto3.session.Session(profile_name='dev') s3 = session.resource('s3') for bucket in s3.buckets.all(): print(bucket.name) 
    Python - лучший язык программирования в мире.