💡

sam validate でエラーが発生したら、tomlファイルも確認してみよう!

2024/01/18に公開

言いたいこと

sam validate でエラーが発生した場合、 template.yaml に加えて、 samconfig.toml も確認してみよう!

遭遇した問題

AWS SAM にてアプリケーションを開発中。

sam validate コマンドで template.yaml に問題がないか確認したところ、以下のエラーメッセージを確認。

Error: Control characters (codes less than 0x1f and 0x7f) are not allowed in strings, use \u000a instead at line 20 col 37

エラーメッセージに従い、 template.yaml の20行目、37文字辺りを入念に確認したが解決せず。

仕方ないので template.yaml を編集前にロールバック。

それでも解決せず。

原因

samconfig.toml にて、以下の記述がエラー原因だった。

parameter_overrides = "AwsEnv=\"dev\"

ダブルクォートが足りない。

正しくは、以下の通り。

parameter_overrides = "AwsEnv=\"dev\""

修正して sam validate を試したところ、いつものメッセージが出た。

template.yaml is a valid SAM Template

結論

sam validate でエラーが発生した場合、 template.yaml に加えて、 samconfig.toml も確認してみよう!

Discussion