SQS在5分钟内未按顺序触发Lambda [英] SQS does not trigger Lambda within 5 minutes in sequential

查看:25
本文介绍了SQS在5分钟内未按顺序触发Lambda的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是AWS新手,正在使用SQS来触发lambda函数。 该函数的顺序为: 并将队列传递给SQS,然后SQS触发Lambda B。

当我运行Lambda A时,我看到Lambda B如我预期的那样被触发。然而,当我在最后一次运行Lambda A之后的5分钟内运行Lambda A时,Lambda B没有被触发。我想知道是否有使用SQS触发Lambda函数的默认时间设置为&5分钟&。如果是,我如何才能更改为<0分钟?

以前有没有人有过类似的问题?谢谢,

// Lambda A
// sends multiple messages to an Amazon SQS queue
module.exports.handler = async (event, context, callback) => {
  try {
    // sendQueue function is imported in the head of the file
    await sendQueue({ queueMessage }, QUEUE_URL)
  } catch (e) {
    console.error(e)
  }

  return {
    statusCode: 200,
    body: JSON.stringify(
      {
        message: 'Lambda A is done',
        input: event,
      },
      null,
      2
    ),
  }
}

// Lambda B
// After SQS receives queues from Lambda A, SQS triggers to invoke Lambda B
module.exports.handler = async (event, context, callback) => {
  // here calling Athena query with "await"
  return `Successfully processed a message.`;
}

在Lambda B中,该函数每次从SQS收到消息时都会获取消息内容,如下所示。

[
  {
    messageId: 'b4146e42-a542-4e0e-bff9-ba7f96xxxxxx',
    receiptHandle: 'xxxxxxxxxxxxxxx',
    body: '{"queueMessage": "queueMessage sample text"}',
    attributes: {
      ApproximateReceiveCount: '1',
      SentTimestamp: '1643094105466',
      SequenceNumber: '18867376164708847616',
      MessageGroupId: '123',
      SenderId: 'xxxxxxxx:lambda-function-name',
      MessageDeduplicationId: 'xxxxxx',
      ApproximateFirstReceiveTimestamp: '1643094105466'
    },
    messageAttributes: { ReceiveMessageWaitTimeSeconds: [Object] },
    md5OfMessageAttributes: 'aaaaaaaa',
    md5OfBody: 'bbbbbbb',
    eventSource: 'aws:sqs',
    eventSourceARN: 'arn:aws:xxx.fifo',
    awsRegion: 'ap-northeast-1'
  }
]

推荐答案

查看AWS documentation后,我发现下面这行

如果发送具有特定邮件重复数据消除ID的邮件 成功地,使用相同的邮件重复数据消除ID发送的任何邮件 已成功接受,但在5分钟内未交付 重复数据消除间隔。

基本上,使用SQS的FIFO队列,5分钟内发送的消息不会被投递,避免重复发送消息。

这篇关于SQS在5分钟内未按顺序触发Lambda的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆