我已经创建了带有lambda触发器的aws SQS。我面临的问题是,当消息从sqs发送时,lambda触发器会自动断开连接,cloudwatch中也不会生成日志(生成日志流)。有人知道吗?
dddzy1tm1#
对于SQS Lambda触发器,您的Amazon SQS角色必须包括以下权限:
对于日志,请检查您的lambda是否具有以下cloudwatch权限来生成日志
xam8gpfp2#
我也遇到了这个。最终,“禁用的”SQS/Lambda触发器看起来像是一个可能由多个根本原因导致的症状。在我的情况下,这不是一个权限问题。根本原因是将SQS队列的“EventSourceArn”Map到Lambda函数的“FunctionArn”的“事件源Map”的问题。我已经删除并重新创建了相同名称的SQS队列。这样做的结果是,当第一个SQS队列被删除时,触发器被AWS自动禁用,但当创建新队列时,Map保持在“禁用”状态。这里的解决方法只是手动删除事件源Map。一旦完成此操作,“禁用”触发器就不再持续。这里有一个关于相关问题的很好的答案/解释-https://stackoverflow.com/a/62392964/8577382
eyh26e7m3#
如果您的权限已按照此处其他解决方案的解释而仍然不起作用,则这是我们发现的结果我们的SQS消息是通过KMS密钥加密的,Lambda无法访问,AWS将其标记为开箱即用禁用。
3条答案
按热度按时间dddzy1tm1#
对于SQS Lambda触发器,
您的Amazon SQS角色必须包括以下权限:
您的Lambda角色必须包括以下权限:
注意,
对于日志,请检查您的lambda是否具有以下cloudwatch权限来生成日志
xam8gpfp2#
我也遇到了这个。最终,“禁用的”SQS/Lambda触发器看起来像是一个可能由多个根本原因导致的症状。
在我的情况下,这不是一个权限问题。根本原因是将SQS队列的“EventSourceArn”Map到Lambda函数的“FunctionArn”的“事件源Map”的问题。我已经删除并重新创建了相同名称的SQS队列。这样做的结果是,当第一个SQS队列被删除时,触发器被AWS自动禁用,但当创建新队列时,Map保持在“禁用”状态。
这里的解决方法只是手动删除事件源Map。一旦完成此操作,“禁用”触发器就不再持续。这里有一个关于相关问题的很好的答案/解释-https://stackoverflow.com/a/62392964/8577382
eyh26e7m3#
如果您的权限已按照此处其他解决方案的解释而仍然不起作用,则这是我们发现的结果
我们的SQS消息是通过KMS密钥加密的,Lambda无法访问,AWS将其标记为开箱即用禁用。