Я изо всех сил пытаюсь выяснить, как я могу получить свои aws_access_key_id и aws_secret_access_key динамически из моего кода.Boto3: получать учетные данные динамически?
В boto2 я мог бы сделать следующее: boto.config.get_value('Credentials', 'aws_secret_access_key')
, но я не могу найти аналогичный метод в boto3. Мне удалось найти ключи, если я посмотрю в boto3.Session()._session._credentials
, но это кажется матерью всех хаков для меня, и я предпочел бы не идти по этой дороге.
Не могли бы вы пояснить, почему необходим прямой доступ к учетным данным в коде? Кроме того, это не место для выражения мнений или разочарования в изменении API. Возьмите это на форумы AWS. –
Мне это нужно, потому что я копирую данные из S3 в Redshift, поэтому мне нужны 'aws_access_key_id' и' aws_secret_access_key'. Я бы предпочел не писать код, который входит в файлы config/credential, и обнаруживать их, когда Boto уже делает это. –
Да, передача этих ключей в Redshift для доступа S3 - главная боль. Мне жаль, что они не позволят нам назначить роль IAM для Redshift, чтобы избежать необходимости этого. Я был бы обеспокоен тем, что ваше решение не будет работать с экземпляром EC2 с использованием профиля экземпляра IAM или функции Lambda. –