【发布时间】:2020-11-12 00:41:03
【问题描述】:
向 sqs 发送消息不起作用,我没有看到任何错误,但消息没有发送到 SQS。 我正在尝试使用本地 lambda 运行它。
var AWS = require('aws-sdk');
AWS.config.update({
accessKeyId: process.env.DEV_AWS_ACCESS_KEY,
secretAccessKey: process.env.DEV_AWS_SECRET_KEY,
region: process.env.DEV_AWS_REGION
});
var sqs = new AWS.SQS({apiVersion: '2012-11-05'});
async function pushToSQS(executed_report_id, report_id, filebatchKey) {
try {
const data = {
executed: "YES",
id: r_id,
batch_key: key
}
var params = {
MessageBody: JSON.stringify({data}),
QueueUrl: process.env.DEV_AWS_QUEUE_URL,
DelaySeconds: 0
};
await sqs.sendMessage(params, function(err, data) {
if (err) {
console.log('SQS Error', err)
throw err
return
}
console.log("Successfully Sent the data message to SQS", data.MessageId);
});
} catch (error) {
console.log(error);
throw error;
}
}
当我尝试构建业务逻辑时,我正在从另一个函数调用此函数。它不会直接从index.js(主处理程序)调用
为什么它不工作,我的意思是它必须工作,不会引发错误。我也在尝试使用local-lambda在本地运行 lambda
注意 - AWS 密钥和秘密拥有对 SQS 的完全访问权限。
【问题讨论】:
标签: javascript node.js amazon-web-services aws-lambda amazon-sqs