如何解决在 CloudFormation 中的资源提供商资源上使用 Fn::GetAtt 函数时收到的 “Attribute 'Key' does not exist”(属性 “Key” 不存在)错误?

1 分钟阅读
0

当我在 AWS CloudFormation 中将 Fn::GetAtt 函数用于我的资源提供商时,我收到以下错误: “Attribute 'Key' does not exist”(属性 “Key” 不存在)

简短描述

CloudFormation 返回 “Attribute 'Key' does not exist”(属性“Key”不存在)错误,因为它没有收到所需的属性。您的资源的 ReadHandler 必须返回一个从 organization-service-resource.json 资源提供商 schema 文件的 readOnlyProperties 列表中指定的属性。

有关与使用资源提供商相关的其他错误,请参阅以下文章:

解决方法

1.    在您的 organization-service-resource.json 文件中,确认 readOnlyProperties 定义使用以下格式,其中,Output 是在属性部分定义的属性。例如:

"readOnlyProperties": [
    "/properties/Output"
],

**注意:**organization-service-resource.json 格式位于项目的根目录中。

2.    在您的 ReadHandler 中,在模型对象中设置属性。例如:

final ResourceModel model = request.getDesiredResourceState();
model.setOutput("abcdxyz");
return ProgressEvent.<ResourceModel, CallbackContext>builder()
    .resourceModel(model)
    .status(OperationStatus.SUCCESS)
    .build();

相关信息

AWS CloudFormation CLI(来自 GitHub 网站)

AWS 官方
AWS 官方已更新 2 年前
没有评论

相关内容