CredentialsError: «Отсутствуют учетные данные в конфигурации», даже если учетные данные установлены - PullRequest
1 голос
/ 06 января 2020

Я пытаюсь использовать неопознанный пул удостоверений Cognito для отправки электронных писем через SES, используя веб-форму. Я использую простой ваниль JS, Node / jQuery / React.

function sendMessage(event) {
  var params = ...;

  AWS.config = new AWS.Config({
    region: 'us-west-2',
    credentials: new AWS.CognitoIdentityCredentials({
      // Unauthenticated pool for sending emails
      IdentityPoolId: 'us-west-2:foo'
    })
  });

  var SES = new AWS.SES({ apiVersion: '2010-12-01' });
  SES.sendEmail(params, function(err, data) {
    if (err) console.log(err, err.stack); // an error occurred
    else     console.log(data);           // successful response
  });
}

Я настроил это как событие отправки для формы, но каждый раз, когда она отправляется, я получаю CredentialsError: "Missing credentials in config".

Как я понимаю, мне не нужно было опускаться и явно устанавливать доступ и секретные ключи с помощью вызова get(). Все примеры кода, представленные в Cognito и общей документации SDK, показывают, что вы можете напрямую создать экземпляр объекта службы и начать выполнять вызовы. Также не должно быть никаких условий гонки, как я обнаружил в этой теме :

Начиная с v2.1.20 учетные данные лениво выбираются при выполнении запроса.

Я пользуюсь v2.597. Что мне здесь не хватает? Почему это не работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...