gpt4 book ai didi

amazon-web-services - 当消息发布到SQS时如何触发lambda?

转载 作者:行者123 更新时间:2023-12-02 09:08:21 24 4
gpt4 key购买 nike

我正在尝试实现 lambda1,当消息发布到 SQS 时,它将被触发。我能够向 SQS 队列发送消息并接收消息。我创建了 SQS lambda 模板,如下所示:

  GetPatientStatusSQS:
Type: AWS::SQS::Queue
Properties:
MaximumMessageSize: 1024
QueueName: !Sub "${EnvironmentName}-GetPatientStatusSQS"
VisibilityTimeout: 30

我检查了 aws 文档,但找不到任何示例来说明如何在消息发布到 SQS 队列时触发 lambda。

我找到了这个链接Can an AWS Lambda function call another但不确定这是否有帮助。

如何更新上面的 SQS 模板以便它触发 lambda1?

最佳答案

截至 2018 年 6 月 28 日,Lambda functions can be triggered by SQS events

您所需要做的就是将 Lambda 函数订阅到所需的 SQS 队列。

转到 SQS 的控制台,单击您的队列 -> 队列操作 -> 配置 Lambda 函数的触发器

enter image description here

设置您想要向其发送消息的 Lambda 的 ARN,就这样,您的函数现在将由 SQS 触发。

请记住,您的函数一次最多会处理一批最多 10 条消息。

如果您认为可能会遇到并发问题,则可以将函数的并发数限制为 1。

这是一个示例模板,您可以使用它将 SQS 和 Lambda 连接在一起。

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Example of processing messages on an SQS queue with Lambda
Resources:
MySQSQueueFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: node8.10
Events:
MySQSEvent:
Type: SQS
Properties:
Queue: !GetAtt MySqsQueue.Arn
BatchSize: 10
MySqsQueue:
Type: AWS::SQS::Queue

来自docs

关于amazon-web-services - 当消息发布到SQS时如何触发lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55359453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com