【发布时间】:2019-11-07 14:05:12
【问题描述】:
我正在尝试使用 javascript SDK 从 SQS Fifo 队列中读取数据,
我正在使用 AWS SQS SDK 的 receiveMessage 方法来做,
但是我在这样做时遇到了错误。
下面是我正在运行的代码 sn-p -
let AWS = require('aws-sdk');
let util = require('util');
AWS.config.update({region: 'us-east-1'});
let test = async() => {
let sqs = new AWS.SQS();
let params = {
QueueUrl: 'sqs.us-east-1.amazonaws.com/awsAccountId/sqsQueueName.fifo'
};
let sqsReceiveMessage = util.promisify(sqs.receiveMessage).bind(sqs);
let messages = await sqsReceiveMessage(params);
console.log(messages);
};
test();
我收到以下错误 -
(node:13221) UnhandledPromiseRejectionWarning: InvalidAddress: The address sqs.us-east-1.amazonaws.com/awsAccountId/sqsQueueName.fifo is not valid for this endpoint.
我使用以下内容作为参考 -
1.https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property
2.https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property
3.https://www.reddit.com/r/aws/comments/5mclde/sqs_cli_aws_sqs_getqueueurl_returns_different_url/
4.https://www.bogotobogo.com/DevOps/AWS/aws-Amazon-SQS-Simple-Queue-Service-with-NodeJS-AWS-SDK.php
【问题讨论】:
-
你试过在队列名前使用http://吗?我不使用 node.js,但在 c# 中我给它整个 url,包括 http://
-
该死的,多么愚蠢的错误,一直在我眼前,谢谢指出。
标签: node.js amazon-web-services amazon-sqs aws-sdk-nodejs