如何解決我在 CloudFormation 中的資源供應商資源上使用 Fn::GetAtt 函數時的「屬性 'Key' 不存在」錯誤?

1 分的閱讀內容
0

在 AWS CloudFormation 中的資源供應商上使用 Fn::GetAtt 函數時,我收到下列錯誤: 「屬性 'Key' 不存在」

簡短說明

CloudFormation 傳回「屬性 'Key' 不存在」錯誤,因為它沒有收到必要內容。資源的 ReadHandler 必須傳回從 organization-service-resource.json 資源供應商結構描述檔案的 readOnlyProperties 清單中指定的內容。

如需其他與使用資源供應商相關的錯誤,請參閱下文:

解決方案

1.    在您的 organization-service-resource.json 檔案中,確認 readOnlyProperties 定義使用下列格式,其中「輸出」是在「內容」區段中定義的內容。例如:

"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 年前