我在 IoT Core 中有一条规则,将消息发送到 IoT Analytics 通道,然后将数据传递到 Analytics 管道,但是在管道中,我想利用管道活动来转换消息,特别是:转换消息与 Lambda 函数活动。
我的 Lambda 函数返回一个它从 DynamoDB 检索的值,我已经在 AWS Lambda 中测试了 Lambda 并且它按原样执行和工作,但是,一旦我单击更新预览,现在应该显示我转换后的消息,我收到以下错误:
我们无法运行管道活动。ERROR : 由于权限不足,无法执行 Lambda 函数;删除消息,删除的消息数:1,functionArn : arn:aws:lambda:eu-west-1:x:function:y
与 Lambda y 函数关联的 IAM 角色具有以下权限:
是否有一项政策可能是我在 Lambda 的 IAM 角色中没有的,阻止它执行我需要的操作?
似乎您没有为您的 lambda 函数提供权限,请确保您已授予 IoT Analytics 调用您的 Lambda 函数的权限
示例 AWS CLI 命令:
1)
aws lambda add-permission --function-name filter_to_cloudwatch --statement-id filter_to_cloudwatch_perms --principal iotanalytics.amazonaws.com --action lambda:InvokeFunction
2)
aws lambda add-permission --function-name LambdaForWeatherCorp --region us-east-1 --principal iot.amazonaws.com --source-arn arn:aws:iot:us-east-1:123456789012:rule/WeatherCorpRule --source-account 123456789012 --statement-id "unique_id" --action "lambda:InvokeFunction"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句