Ошибка отправки сообщения в 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'});