Node.js 使用SQS专用端点批量发送消息
我正在使用nodejs,我需要使用sendMessageBatch函数将批量消息发送到SQS队列。将消息推送到SQS的lambda位于VPC内部,因此我需要使用SQS的私有端点。 任何人都可以帮助了解如何包含端点的语法。 我可以使用以下示例推送: 但是,这并不是使用私有端点Node.js 使用SQS专用端点批量发送消息,node.js,aws-lambda,amazon-sqs,amazon-vpc,endpoint,Node.js,Aws Lambda,Amazon Sqs,Amazon Vpc,Endpoint,我正在使用nodejs,我需要使用sendMessageBatch函数将批量消息发送到SQS队列。将消息推送到SQS的lambda位于VPC内部,因此我需要使用SQS的私有端点。 任何人都可以帮助了解如何包含端点的语法。 我可以使用以下示例推送: 但是,这并不是使用私有端点 const splitArray = require("split-array"); async function sendMessages(queueUrl, messages) { const
const splitArray = require("split-array");
async function sendMessages(queueUrl, messages) {
const spilttedArray = splitArray(messages, 10);
for (const arr of spilttedArray) {
var params = {
QueueUrl: queueUrl,
Entries: []
};
for (const message of arr) {
params.Entries.push({
Id: uuid.v4(),
MessageBody: JSON.stringify(message)
});
}
await sqs.sendMessageBatch(params).promise();
}
}
你试过这个吗?您可以将端点作为参数传递给SQS客户机
const sqs = new AWS.SQS({endpoint: 'https://my-vpc-url.com'}) // credentials also
// everything else
await sqs.sendMessageBatch(params).promise();
如果已配置VPC端点,则它应自动工作。运行Lambda函数时会发生什么?