AWS CloudFormation で CloudFormation CLI を使用して cfn generate コマンドを実行するときに、「Resource specification is invalid」というエラーが発生するのですが、解決するにはどうすればよいですか?
最終更新日: 2020 年 8 月 17 日
CloudFormation コマンドラインインターフェイス (CloudFormation CLI) を使用して cfn generate コマンドを実行すると、AWS CloudFormation で「Resource specification is invalid」というエラーが表示されます。このエラーの解決方法を教えてください。
簡単な説明
cfn generate コマンドは、プロジェクトおよびリソースプロバイダーのスキーマに基づいてコードを生成します。リソースのリソースプロバイダースキーマが無効である場合、「Resource specification is invalid」エラーメッセージを受け取ります。構文または無効な名前空間のエラーメッセージを受け取ることもあります。
問題があってリソースプロバイダーの使用に関してエラーを受け取った場合は、次の記事の追加のトラブルシューティング手順を参照してください。
- AWS CloudFormation で「Model validation failed (#: extraneous key [Key] is not permitted)」というエラーを解決するにはどうすればよいですか?
- AWS CloudFormation でリソースプロバイダータイプを使用してリソースを作成するときに、「Resource timed out waiting for creation of physical resource」というエラーが発生するのですが、解決するにはどうすればよいですか?
- AWS CloudFormation でリソースプロバイダーのリソースで Fn። GetAtt 関数を使用するときに、「Attribute 'Key' does not exist」というエラーが発生するのですが、解決するにはどうすればよいですか?
- AWS CloudFormation の「java.lang.ClassNotFoundException: com.example.Package.Resource.HandlerWrapper」エラーを解決する方法を教えてください。
解決方法
- cfn init コマンドが実行されたプロジェクトのルートディレクトリで、リソースプロバイダースキーマを探します。
注: リソースプロバイダースキーマファイルは、 organization-service-resource.json 形式の JSON ファイルです。 - organization-service-resource.json ファイルが適切な JSON形式に従っていることを確認します。
- リソースの名前空間とリソースプロバイダースキーマ内の名前空間を比較し、発見した不一致を解決します。
上記の手順で問題が解決しない場合は、 cfn init を使用して新しいプロジェクトを作成し、「Resource specification is invalid」エラーの発生原因となった変更を絞り込むまで、リソースプロバイダースキーマファイル organization-service-resource.json を段階的に更新します。