AWS Lambda
开发人员指南

步骤 2.2:创建执行角色(IAM 角色)

为了使 AWS Lambda 能够在您已配置的 Amazon SQS 队列上轮询、处理和删除消息,您需要设置以下 Amazon SQS 操作的权限:

您可以通过下列两种方式之一来执行此操作:

注意

如果 Amazon SQS 队列和 Lambda 函数与不同的 AWS 账户关联,您必须使用基于资源的策略来启用跨账户访问。

  • 基于身份的策略:将内联策略添加到执行角色,该角色授予之前列出的所需操作的权限,如以下示例中所述:

    { "Version": "2012-10-17", "Statement": [ { "Sid": sid, "Effect": "Allow", "Action": [ "sqs:DeleteMessage", "sqs:ChangeMessageVisibility", "sqs:ReceiveMessage", "sqs:GetQueueAttributes" ], "Resource": “arn:aws:sqs:region:123456789012:test-queue“ } ] }

    有关更多信息,请参阅管理对您的 Amazon Simple Queue Service 资源的访问权限概述

  • 基于资源的策略:或者,您也可以使用基于 Amazon SQS 资源的策略。

{ "Version": "2012-10-17", "Id": "arn:aws:sqs:region:123456789012:test-queue/mypolicy", "Statement": [ { "Sid": sid, "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/function-execution-role" }, "Action": [ "SQS:GetQueueAttributes", "SQS:ChangeMessageVisibility", "SQS:DeleteMessage", "SQS:ReceiveMessage" ], "Resource": "arn:aws:sqs:region:123456789012:test-queue" } ] }

下一步

步骤 2.3:创建 Lambda 函数并手动对其进行测试

本页内容: