代码之家  ›  专栏  ›  技术社区  ›  Peter-John Jansen

将数据转换为具有lambda函数权限错误的物联网分析管道

  •  0
  • Peter-John Jansen  · 技术社区  · 6 年前

    我在物联网核心中有一个规则,它将消息发送到物联网分析通道,然后将数据传递到分析管道,但是在管道中,我希望利用管道活动来转换消息,特别是: 使用lambda函数转换消息 活动。

    lambda函数返回一个它从dynamodb中检索到的值,我已经在aws lambda中测试了lambda,它按照它应该的方式执行和工作,但是,一旦我单击更新预览(现在应该显示转换后的消息),就会得到以下错误:

    无法运行管道活动。错误:由于权限不足,无法执行lambda函数;删除消息,删除的消息数:1,函数:arn:aws:lambda:eu-west-1:x:function:y

    与lambda y函数关联的IAM角色具有以下权限:

    • AmazonDynamodbfullAccess(AmazonDynamodbfullAccess)
    • 自动分析完全访问
    • 完全访问

    对于lambda,是否有一个我在IAM角色中没有的策略阻止它做我需要它做的事情?

    1 回复  |  直到 6 年前
        1
  •  1
  •   vaquar khan    6 年前

    似乎您没有为lambda函数提供权限,请确保您已授予物联网分析权限来调用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"