编辑:忘记提及了,Python和Node版本都在本地工作。只有Node在EC2上不起作用。
我正在尝试从EC2实例访问SQS,使用Python可以,但是使用Node时不能。我认为这一定是我所缺少的一些小参数,或者它不能实现连通性,或者与网关无关,或者Python版本无法正常工作。
我尝试在SQS构造函数中指定AWS凭证,但没有做任何事情。
我正在使用Python
import boto3
sqs = boto3.client('sqs', "us-west-2")
print(sqs.list_queues())
对于Node
var AWS = require('aws-sdk');
var sqs = new AWS.SQS({
region : 'us-west-2',
httpOptions: {timeout: 500},
apiVersion: '2012-11-05'
});
var params = {};
sqs.listQueues(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.QueueUrls);
}
});
我希望后者会输出
Success [ 'https://sqs.us-west-2.amazonaws.com/359631596575/companyQueue.fifo',
'https://sqs.us-west-2.amazonaws.com/359631596575/job-req-crawler-dead-queue',
'https://sqs.us-west-2.amazonaws.com/359631596575/job-req-inference-cleaner',
'https://sqs.us-west-2.amazonaws.com/359631596575/redo_is_job_post_queue' ]
但是它只是超时了。
谢谢您的帮助!