EDIT: Забыл упомянуть, что версии Python и Node работают локально. Только узел не работает на EC2.
Я пытаюсь связаться с SQS из моего экземпляра EC2, и я могу, когда я использую Python, но не когда я использую Node. Я думаю, что это должен быть какой-то небольшой параметр, который я пропускаю, или что-то в этом роде, поскольку это не может быть подключение или что-то, связанное со шлюзами, иначе версия Python не будет работать.
Я пытался указать учетные данные AWS в конструкторе SQS, но ничего не сделал.
Для Python я делаю
import boto3
sqs = boto3.client('sqs', "us-west-2")
print(sqs.list_queues())
для узла,
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' ]
но вместо этого просто время ожидания.
Спасибо за вашу помощь!