Я использую библиотеку Python Boto 3 и хочу подключиться к AWS CloudFront. Мне нужно указать правильный профиль AWS (AWS Credentials), но, глядя на официальную документацию, я не вижу возможности указать его.
Я инициализирую клиента с помощью кода:
client = boto3.client('cloudfront')
Однако это приводит к тому, что для подключения используется профиль по умолчанию. Мне не удалось найти метод, позволяющий указать, какой профиль использовать.
python
amazon-web-services
boto3
Надер А. Джаббар
источник
источник
client = boto3.client('s3', aws_access_key_id = '<access-key>', aws_secret_access_key = '<secret-key>')
Ответы:
Я думаю, что документы не очень хорошо раскрывают, как это сделать. Однако это поддерживаемая функция в течение некоторого времени, и в этом запросе на перенос есть некоторые детали .
Итак, есть три разных способа сделать это:
Вариант А) Создать новый сеанс с профилем
Вариант Б) Изменить профиль сеанса по умолчанию в коде
Вариант C) Измените профиль сеанса по умолчанию с помощью переменной среды
источник
dev.client('s3')
вместоboto3.client('s3')
ipython
мне тоже пригодилось.boto3.session.Session().available_profiles
- это список. Затем используйте тот, который вам нужен @ jordan-phillips.Сделайте это, чтобы использовать профиль с именем dev:
источник
Этот раздел документации boto3 полезен.
Вот что у меня сработало:
источник
Просто добавьте профиль в конфигурацию сеанса перед вызовом клиента.
boto3.session.Session(profile_name='YOUR_PROFILE_NAME').client('cloudwatch')
источник