2016-04-06 3 views
0

Я хочу получить доступ Амазонки SES (Simple Email Service) с использованием библиотеки boto3 и профиль пользователя. Код, который я хочу выполнить, указан ниже, который не работает. Это дает мне ошибку «botocore.exceptions.NoCredentialsError: Не удалось найти учетные данные», я в настоящее время в состоянии получить доступ к S3 услуги, не вопрос, так что я знаю, что мой профиль настроен правильно, но я не могу найти код доступ к службе SES с использованием профиля. Мне нужно указать, как заставить код работать.AWS Simple Email Service - код нужно использовать boto3 с IAM Профиль

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

+1

Есть ли файл ~/.aws/credentials на вашем компьютере? Как у вас есть профиль и роль IAM? – helloV

+0

Да, у меня есть файл учетных данных для моего профиля, где я указываю ключи доступа и секретные ключи, я изменю свой квест, чтобы отразить, что я задаю профиль. – user1811107

ответ

3

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

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