Ошибка отправки сообщения в SQS при аутентификации с помощью Cognito

При попытке отправить сообщение в sqs я получаю предупреждение об отсутствии учетных данных конфигурации. Если переключиться на отображение только моего ключа доступа и пароля, я могу просто отправить сообщение в sqs. Я включил код, который я использую, и ошибки, которые я получаю из браузера ниже.

Код ниже:

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: 'xxxxxx',
});
var params = {
  MessageBody: 'some random message',
  QueueUrl: 'xxxxxx'
};
AWS.config.credentials.get(function(err) {
  if (err) console.log(err);
  else console.log(AWS.config.credentials);
});

var sqs = new AWS.SQS();
sqs.sendMessage(params, function (err, data) {
  if (!err) {
    console.log('Message sent.');
  } else {
    console.log(err);
  }
});

Ошибки из console.log:

Ошибка: отсутствует регион в конфигурации в ноль. ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:5:10470) по адресу r.SequentialExecutor.r.util.inherit.callListeners ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:27635) по адресу r.SequentialExecutor.r.util.inherit.emit ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:27431) по адресу n.Request.o.emitEvent ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:15837) по адресу e ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:12148) в r.runTo ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:7:23197) по адресу n.Request.o.runTo ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:13657) по адресу n.Request.o.send ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:13550) в t.Service.i.makeUnauthenticatedRequest ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:30572) по адресу t.util.update.getId ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:7:2224) index.html: 57 Ошибка: отсутствуют учетные данные в конфигурации при нулевом. ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:5:10470) по адресу r.SequentialExecutor.r.util.inherit.callListeners ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:27635) по адресу r.SequentialExecutor.r.util.inherit.emit ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:27431) по адресу n.Request.o.emitEvent ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:15837) по адресу e ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:12148) в r.runTo ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:7:23197) по адресу n.Request.o.runTo ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:13657) по адресу n.Request.o.send ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:13550) в t.Service.i.makeUnauthenticatedRequest ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:6:30572) по адресу t.util.update.getId ( https://sdk.amazonaws.com/js/aws-sdk-2.1.12.min.js:7:2224)

Обратите внимание, что я пробовал добавлять регион разными способами.

1 ответ

Я не вижу ничего в вашем размещенном коде, который устанавливает регион.

[После копирования из Конфигурирования SDK в документации по Node.js ]

AWS SDK для Node.js не выбирает регион по умолчанию. Вы можете выбрать регион аналогично настройке учетных данных, загрузив их с диска или используя AWS.config.update():

AWS.config.update({region: 'us-west-1'});
Другие вопросы по тегам