Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 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)