Amazon SES Ошибка при получении учетных данных с сервера метаданных профиля экземпляра. (Ошибка клиента: 404)

У меня возникли проблемы с работой AWS SES в соответствии с приведенным ниже описанием; Я хочу отправить электронное письмо пользователям с моего сайта. Похоже, учетные данные не проверяются, однако я использовал правильные учетные данные, сгенерированные из IAM (я также пробовал корневые ключи сервера, и он выдал ту же ошибку). У меня закончились идеи о том, как разрешить / отладить что-нибудь еще, так что любое управление будет с благодарностью.

Ошибка при выполнении:

Ошибка при получении учетных данных с сервера метаданных профиля экземпляра. (Ошибка клиента: 404)

Предпринятые шаги

  1. Я настроил SES и проверил адреса электронной почты и т. Д.

  2. Я создал профиль IAM с «Полный доступ к SES»

  3. Я установил AWS SDK для php, используя файл phar

  4. Я написал код php ниже, предоставляя правильный код доступа безопасности непосредственно из SES

require 'aws/aws.phar';
use Aws\Ses\SesClient;

//More code here

$client = SesClient::factory(array(
'key' => 'xxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxx',
'region' => 'us-west-2',
'version' => '2010-12-01'
));

//code to build the $msg here as array

try{
$result = $client->sendEmail($msg);

//save the MessageId which can be used to track the request
$msg_id = $result->get('MessageId');
echo("MessageId: $msg_id");

//view sample output
print_r($result);
} catch (Exception $e) {
echo($e->getMessage());
}
//view the original message passed to the SDK
print_r($msg);

Заранее спасибо за помощь — это всегда отличное сообщество !! Пожалуйста, дайте мне знать, если я могу предоставить что-нибудь еще

Джон

2

Решение

Вы можете предоставить учетные данные для вашего SDK, используя несколько методов. Смотрите документацию: Предоставление учетных данных для SDK

1) Установите переменные среды: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION со значениями из профиля IAM, который вы создали.

2) Вместо 1) вы также можете создать файл ~ / .aws / credentials. Здесь вы можете добавить строки:
[дефолт] aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY
aws_default_region = регион

1) или 2) определенно будет работать, и это прямо вперед.

3) Вы также можете создать профиль экземпляра. Вам необходимо создать роль IAM и профиль экземпляра. Вашему экземпляру должен быть присвоен профиль экземпляра, когда он создается. См. Стр. 183 (как указано в нижней части страницы. Название темы «Использование роли IAM для предоставления разрешений приложениям»).
Запуск на инстансах Amazon EC2 «) данного руководства: Руководство пользователя AWS IAM понять шаги и процедуру. Здесь секретный ключ и ключ доступа выбираются автоматически, и вам не нужно ничего делать. Вам просто нужно установить регион по умолчанию, используя шаг 1) (то есть, экспортировать AWS_DEFAULT_REGION = someregion).

4) Вы уже попробовали 4-й способ и, возможно, в ваших настройках есть проблема, о которой я не знаю.

1

Другие решения

Других решений пока нет …