Frameworkの設定YAMLを、公式サイトの下記のようなサンプルを見ながら編集していました。arn:xx」が「sns:」より1つインデントしていて、直すとうまくいきました...。はずかしながら、実はYAMLが苦手で、理解が曖昧なまま何となく使っていたのですが、今回の件もあって、もう少しちゃんと使い方を知っておいた方がいいかなぁと思い、つまづいた所や勘違いしていた所を中心に、反省も踏まえ、使い方をまとめてみることにしました。実際に書いてみないと分からないことも多く、下記のサイトでYAMLを入力しながら進めました。https://www.json2yaml.com/YAMLとは?YAMLとは、配列・マップのデータを表現するテキストフォーマットです。人が感覚的に読みやすいことを考えて作られているのが特徴です。"C"}コメント・区切り「#」以降がコメント。D」は同じ位置になる。],]1文字ずれただけで意味が違ってくる。最初に示したとおり、要素の直後に値を書ける。B"]インライン表記で値が何もない時はnullになる。]}その逆、つまり、配列の値がマップの場合は、インデントしないとNG。下記は構文エラーとなる。インデントしないといけないフロースタイルそこだけJSON形式で埋め込められるモード配列は「[]」でくくり、マップは「{}」でくくり、要素は「,」で区切るJSONなので、改行・インデントは気にしなくていい。}]ひっかかりやすいポイントおさらい向きは縦横どちらでもよくはない。縦に並べる並列する要素は、頭の位置を必ずそろえるインデント位置は重要。今まで、インライン表記とネクストライン表記をよく分からないまま使っていて、それが混乱の原因の1つでした。JSONは見やすくするために、適当にインデントさせたりするのですが、YAMLは見た目のためだけでなく、インデント自体が重要な意味を持っています。注意すべきなのは、高さを「そろえる」ということでしょうか。YAMLの使い方は、簡潔にまとめられるかと思ったのですが、ルールを文章化しずらく、なんかモヤモヤするんですよねぇ...。全ては、人が読みやすくするためにYAMLのルールを作ったことに起因するのですが、それが逆に人にとって分かりにくいルールになった、というのが自然言語らしくて面白いですね。そのおかげで、設定ファイルなどの可読性は高くなりました。スペースが1つ入っただけで全然別物になっています。構文上はどちらも間違っていないのでやっかいです。(まさか勝手に「null」が入っているなんて思わないじゃないですか......。)今なら多少は違いが分かるようになったので、少しはYAMLアレルギーを克服できたと思いたいですね。13:00Tweet関連記事2020-11-19jqの使い方メモシェルスクリプトで、JSONからデータを取り出すのにjqコマンド...2020-04-16Go言語でハマったことメモ(slice・map・string)Golangを始めました。1引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。