配置队列以触发 AWS Lambda 函数(控制台) - Amazon Simple Queue Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置队列以触发 AWS Lambda 函数(控制台)

您可以使用 AWS Lambda 函数处理 Amazon SQS 队列中的消息。Lambda 轮询队列并使用包含队列消息的事件同步调用 Lambda 函数。您可以指定另一个队列来充当您的 函数无法处理的消息的死信队列Lambda。

函数可以处理来自多个队列的项目(每个队列使用一个 Lambda 事件源)。Lambda您可以使用具有多个 Lambda 函数的同一队列。

如果将加密的队列与 Lambda 函数关联,但 Lambda 不轮询消息,请将 kms:Decrypt 权限添加到 Lambda 执行角色。

注意以下限制:

  • 您的队列和 Lambda 函数必须位于同一 AWS 区域。

有关实施 Lambda 函数的信息,请参阅 中的AWS Lambda将 Amazon SQS 与 结合使用。AWS Lambda Developer Guide

Prerequisites

要配置 Lambda 函数触发器,您必须满足以下要求:

  • 如果您使用 IAM 用户,则您的 Amazon SQS 角色必须包括以下权限:

    • lambda:CreateEventSourceMapping

    • lambda:ListEventSourceMappings

    • lambda:ListFunctions

  • 执行角色必须包含以下权限:Lambda

    • sqs:DeleteMessage

    • sqs:GetQueueAttributes

    • sqs:ReceiveMessage

  • 如果您将加密队列与 Lambda 函数关联,请将 kms:Decrypt 权限添加到 Lambda 执行角色。

有关更多信息,请参阅 管理 Amazon SQS 中的访问概述.

配置队列以触发 Lambda 函数(控制台)

  1. 通过以下网址打开 Amazon SQS 控制台:https://console.amazonaws.cn/sqs/

  2. 在导航窗格中,选择 Queues. (队列)。

  3. Queues (队列) 页面上,选择要配置的队列。

  4. 在队列的页面上,选择 Lambda 触发器选项卡。

  5. Lambda 触发器页面上,选择一个 Lambda 触发器。

    如果该列表不包含您需要的 Lambda 触发器,请选择 Configure Lambda function trigger (配置 Lambda 函数触发器)。输入 Lambda 函数的 Amazon 资源名称 (ARN) 或选择现有资源。然后选择 Save (保存).

  6. 选择 Save. 控制台将保存配置并显示队列的 Details (详细信息) 页面。

    Details (详细信息) 页面上,Lambda triggers (Lambda 触发器) 选项卡显示 Lambda 函数及其状态。Lambda 函数大约需要 1 分钟时间与队列关联。

  7. 要验证配置的结果,请向队列发送消息,然后在 Lambda 控制台中查看触发的 Lambda 函数。