Простой сервис электронной почты AWS — нужен код для использования boto3 с профилем IAM

Я хочу получить доступ к SES (Simple Email Service) Amazon, используя библиотеку boto3 и профиль пользователя. Код, который я хочу выполнить, указан ниже, который не работает. Это выдает мне ошибку "botocore.exceptions.NoCredentialsError: Unable to find passwords", в настоящее время я могу без проблем получить доступ к службам S3. поэтому я знаю, что мой профиль настроен правильно, но я не могу найти код для доступа к службе SES с использованием профиля. Мне нужно несколько указателей, как заставить код работать.

Код SES, который НЕ работает

import boto3

session = boto3.session.Session(profile_name='myprofile')
client = boto3.client('ses','us-east-1')
response = client.list_verified_email_addresses()

Код S3, который в настоящее время работает с профилем

import boto3

session = boto3.session.Session(profile_name='myprofile')
s3 = session.resource('s3')

Ссылка: http://boto3.readthedocs.org/en/latest/reference/services/ses.html


person user1811107    schedule 06.04.2016    source источник
comment
Есть ли на вашем компьютере файл ~/.aws/credentials`? Как у вас может быть профиль и роль IAM?   -  person helloV    schedule 06.04.2016
comment
Да, для моего профиля есть файл учетных данных, в котором я указываю ключи доступа и секретный ключ, я изменю свой квест, чтобы отразить, что я указываю профиль.   -  person user1811107    schedule 06.04.2016


Ответы (1)


В вашем коде SES вы не используете сеанс, который вы создали с помощью своего профиля. Но в коде S3 вы используете сеанс. Когда вы звоните boto3.client(), он ничего не знает о вашем профиле. Попробуй это:

session = boto3.Session(profile_name='myprofile')
client = session.client('ses','us-east-1')
response = client.list_verified_email_addresses()
person helloV    schedule 06.04.2016