【问题标题】:Issue sending message to SQS when authenticating with cognito使用 cognito 进行身份验证时向 SQS 发送消息
【发布时间】:2015-06-07 02:50:55
【问题描述】:

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

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

【问题讨论】:

    标签: amazon-web-services amazon-sqs amazon-cognito amazon-javascript-sdk


    【解决方案1】:

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

    [以下复制自Configuring the SDK in Node.js 文档]

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

    AWS.config.update({region: 'us-west-1'});
    

    【讨论】:

    • 我已经尝试使用该代码,但它抱怨正在设置区域。我没有使用节点,这只是在浏览器 javascript 中。
    • 您可以在尝试设置区域时发布您的代码以及生成的错误消息吗?
    猜你喜欢
    • 2021-07-07
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 2016-05-31
    • 2018-08-27
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多