0

我最近做了一个配置,在其中我创建了一个组件,使用 aws 控制台从配方中获取 greengrass,另一个从 lambda 文件导入配置。当我使用 aws 控制台进行操作时,它们都运行良好。但是,我希望能够使用 cloudformation 生成相同的配置。我已经阅读了这里的文档组件版本,它说我可以内联添加配方文件或使用LambdaFunctionRecipeSource. 但是我所有的尝试都因错误而失败


Resource handler returned message: "User: arn:aws:iam::accountIDHere:user/harisu is not 
authorized to perform: null (Service: GreengrassV2, Status Code: 403, Request ID: f517f1ff-a387-
4380-8a47-bd6d41fd628e, Extended Request ID: null)" 
(RequestToken: d6f8042d-687e-0afa-e75d-d80f27a7f177, HandlerErrorCode: AccessDenied)

但是,我已授予用户管理员访问权限,harisu并确保他具有对 greengrass 服务的完全访问权限。我的示例 cfn 文件是


  TestComponentVersion:
    Type: AWS::GreengrassV2::ComponentVersion
    Properties: 
      InlineRecipe: "---
        RecipeFormatVersion: '2020-01-25'
        ComponentName: com.example.HelloWorld
        ComponentVersion: 1.0.0
        ComponentDescription: My first AWS IoT Greengrass component.
        ComponentPublisher: Amazon
        ComponentConfiguration:
          DefaultConfiguration:
            Message: world
        Manifests:
        - Name: Linux
          Platform:
            os: linux
          Lifecycle:
            Run: |
              python3 {artifacts:path}/hello_world.py '{configuration:/Message}'
          Artifacts:
           - URI: s3://DOC-EXAMPLE-BUCKET/artifacts/com.example.HelloWorld/1.0.0/hello_world.py
     "

我将不胜感激

4

1 回答 1

0

对于在故障排除时遇到此问题的任何其他人,请参阅https://greengrassv2.workshop.aws/en/chapter4_createfirstcomp/30_step3.html。它指出这通常是由配方定义不是有效的 json 或 yaml 引起的。就我而言,这是真的,我有一个 yaml 语法错误。我没有立即看到这里是否是这种情况或您的错误在哪里。

于 2021-10-28T03:22:47.797 回答