Lambda服务抛出错误执行角色没有权限在SQS上调用receiveMessage

问题描述 投票:0回答:1

我有一个SQS队列,我想在消息到达队列时触发lambda函数。我编写了lambda函数,当我单击“测试”按钮时,它可以成功运行。当我转到SQS并尝试将其配置为lambda触发器时,我看到下面的错误消息。

我使用相同的用户和角色创建了SQS队列和lambda函数,lambda函数对同一个角色具有执行权限。

我还添加了SQS receiveMessage权限,但它似乎没有什么区别,除非我在设置它时做错了。

可能导致问题的原因是什么?

谢谢你的帮助

enter image description here

amazon-web-services aws-lambda amazon-sqs
1个回答
1
投票
  • 嗨,据我所知,你的lambda需要以下权限aws docks
  • 希望它不在VPC中。 aws_lambda_permission
  • 或者可以在sqs:*上给它一个神模式只是为了测试它。
  • 如果可以在以后工作,那么您可以只使用特定方法。附加了一个lambda角色的策略,如果你需要调用另一个lambda形式这个lambda,你可能需要将account_number更改为你的帐户no { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:eu-west-2:account_number:function:*" }, { "Sid": "", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream", "logs:CreateLogGroup" ], "Resource": "*" }, { "Sid": "", "Effect": "Allow", "Action": [ "sqs:*" ], "Resource": "*" } ] }
© www.soinside.com 2019 - 2024. All rights reserved.