我创建了lambda函数。默认情况下没有sqs的触发器。我在CloudWatch中创建规则并选择Event Pattern
- > Service Name: SQS
,Event Type: All Events
。选项卡Targets
选择了我的lambda函数并创建配置。之后,我的函数添加了此触发器,但没有响应在SQS队列中添加消息。请帮我。为什么不反应?如何创建没有Cron
的lambda?
答案 0 :(得分:1)
队列旨在存储消息以供将来处理,但AWS Lambda的好处是它可以立即运行代码而不必等待。
您应该通过将消息放入SQS的任何进程直接触发Lambda,而不是尝试从Amazon SQS触发AWS Lambda函数。该过程应直接调用Lambda,或者它可以通过 Amazon SNS 发送消息,该消息能够触发Lambda函数。
您当前的SQS -> CloudWatch -> Alarm -> Lambda
进程未向Lambda发送原始SQS消息。相反,它会发送CloudWatch警报的详细信息(不包含消息)。
尝试设计应用程序以使其根本不需要SQS,而不是试图解决SQS无法触发Lambda的事实。