我最近做了一个配置,在其中我创建了一个组件,使用 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
"
我将不胜感激