如何通过任何进程直接触发Lambda将消息放入SQS(而不是通过预定事件)?

时间:2017-03-03 09:35:00

标签: amazon-web-services aws-lambda amazon-sqs

我创建了lambda函数。默认情况下没有sqs的触发器。我在CloudWatch中创建规则并选择Event Pattern - > Service Name: SQSEvent Type: All Events。选项卡Targets选择了我的lambda函数并创建配置。之后,我的函数添加了此触发器,但没有响应在SQS队列中添加消息。请帮我。为什么不反应?如何创建没有Cron的lambda?

1 个答案:

答案 0 :(得分:1)

队列旨在存储消息以供将来处理,但AWS Lambda的好处是它可以立即运行代码而不必等待。

您应该通过消息放入SQS的任何进程直接触发Lambda,而不是尝试从Amazon SQS触发AWS Lambda函数。该过程应直接调用Lambda,或者它可以通过 Amazon SNS 发送消息,该消息能够触发Lambda函数。

您当前的SQS -> CloudWatch -> Alarm -> Lambda进程未向Lambda发送原始SQS消息。相反,它会发送CloudWatch警报的详细信息(不包含消息)。

尝试设计应用程序以使其根本不需要SQS,而不是试图解决SQS无法触发Lambda的事实。