0

尝试向 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 )

请注意,我尝试过以各种不同的方式添加区域。

4

1 回答 1

0

我在您发布的代码中没有看到任何设置区域的内容。

[以下复制自在 Node.js 中配置 SDK文档]

默认情况下,适用于 Node.js 的 AWS 开发工具包不会选择区域。您可以通过从磁盘加载或使用 AWS.config.update() 来选择类似于设置凭证的区域:

AWS.config.update({region: 'us-west-1'});
于 2015-06-06T18:50:55.003 回答