CloudFormation で、リソースプロバイダーのリソースで Fn::GetAtt 関数を使用した場合に発生する「Attribute 'Key' does not exist」(属性「Key」が存在しません) というエラーを解決するにはどうすればよいですか?

所要時間1分
0

AWS CloudFormation のリソースプロバイダーで Fn::GetAtt 関数を使用すると、次のエラーが表示されます。 「Attribute 'Key' does not exist」(属性「キー」が存在しません)

簡単な説明

CloudFormation は、必要なプロパティを受け取っていないため、「Attribute 'Key' does not exist」(属性「キー」が存在しません) というエラーを返します。リソースの ReadHandler は、organization-service-resource.json リソースプロバイダーのスキーマファイルの readOnlyProperties リストから指定されたプロパティを返す必要があります。

リソースプロバイダーの使用に関連するその他のエラーについては、次の記事を参照してください。

解決方法

1.    organization-service-resource.json ファイルで、readOnlyProperties 定義が次の形式を使用していることを確認します。ここで、Outputプロパティセクションで定義されているプロパティです。例:

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

注: organization-service-resource.json 形式はプロジェクトのルートディレクトリにあります。

2.    ReadHandler で、model オブジェクトのプロパティを設定します。例:

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公式更新しました 1年前
コメントはありません

関連するコンテンツ