本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置队列以触发 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 函数(控制台)
-
通过以下网址打开 Amazon SQS 控制台:https://console.amazonaws.cn/sqs/
。 -
在导航窗格中,选择 Queues. (队列)。
-
在 Queues (队列) 页面上,选择要配置的队列。
-
在队列的页面上,选择 Lambda 触发器选项卡。
-
在 Lambda 触发器页面上,选择一个 Lambda 触发器。
如果该列表不包含您需要的 Lambda 触发器,请选择 Configure Lambda function trigger (配置 Lambda 函数触发器)。输入 Lambda 函数的 Amazon 资源名称 (ARN) 或选择现有资源。然后选择 Save (保存).
-
选择 Save. 控制台将保存配置并显示队列的 Details (详细信息) 页面。
在 Details (详细信息) 页面上,Lambda triggers (Lambda 触发器) 选项卡显示 Lambda 函数及其状态。Lambda 函数大约需要 1 分钟时间与队列关联。
-
要验证配置的结果,请向队列发送消息,然后在 Lambda 控制台中查看触发的 Lambda 函数。