AWS Lambda与SQS集成

时间:2017-06-05 01:14:58

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

AWS lambda是否支持侦听SQS队列?我找到了一些例子,说可以做到这一点,但我不确定AWS lambda是否表示支持。当我创建lambda函数时,我找到了一个SQS的蓝图。所以,

4 个答案:

答案 0 :(得分:3)

我在你的其他帖子中链接到它 - these are the supported event sources。请注意,cloudwatch events是可能的事件类型之一。例如,您可以将Lambda设置为每分钟运行一次并轮询SQS队列。您不能直接从SQS队列中触发Lambda。

答案 1 :(得分:3)

好消息,此功能已于昨天发布!

  

2018年6月28日:AWS Lambda将Amazon Simple Queue Service添加到受支持的事件源中

在此处阅读公告博客文章:https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/

AWS Serverless Model支持以下新事件源:

Type: SQS
 PropertiesProperties:
  QueueQueue: arn:aws:sqs:us-west-2:012345678901:my-queue arn:aws:sqs:us-west-2:0123456789 # NOTE: FIFO SQS Queues are not yet supported
  BatchSize: 10

这是可以从AWS Console UI进行配置的方式:

lambda sqs event source

答案 2 :(得分:1)

您可以使用SQS API使lambda函数轮询队列。您可以使用SNS来触发Lambda函数。

答案 3 :(得分:1)

而不是让AWS Lambda轮询Amazon SQS队列,而是将消息发送到SQS队列的应用程序应该直接调用Lambda函数。这可以通过以下几种方式完成:

  • 通过AWS API调用直接调用
  • 将消息发送到Amazon SNS主题,Lambda函数订阅主题
  • 通过AWS API Gateway调用函数,然后可以触发Lambda函数

不需要将消息放入SQS队列的额外步骤。