{{ }}置換構文
文字列や引数に変数を埋め込みます
「{{ }}置換構文」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
Jinja2とは
二重の波括弧は、Ansibleが使用するテンプレートエンジンJinja2に由来します。波括弧の中にあるものは、評価される式です。🌟
基本的な置換
最も基本的な形では、{{ name }}がnameの値に置き換えられます。Ansibleはモジュールを実行する前にこれを評価します。
msg: "Welcome, {{ name }}!"空白に注意する
波括弧の内側の空白は慣習的なもので、無視されます。{{ name }}と{{name}}は同じ意味です。読みやすい空白入りの形式が標準的な書き方です。
値の先頭が波括弧なら引用符で囲む
値が波括弧で始まる場合、YAMLでは文字列全体を引用符で囲む必要があります。そうしないと、辞書と誤認されます。
name: "{{ app_name }}"テキストと変数を組み合わせる
1つの文字列の中で、固定テキストと置換を自由に組み合わせ、パスやメッセージを少しずつ組み立てられます。
path: "/var/www/{{ site_name }}/index.html"辞書のキーにアクセスする
辞書型の変数では、ドット記法またはブラケット記法でキーにアクセスします。db.portとdb['port']は、どちらも同じ値を返します。
msg: "DB on {{ db.host }}:{{ db.port }}"リストの要素にアクセスする
ブラケットを使ってリスト型の変数をインデックス指定します。数え始めは0なので、packages[0]が最初の要素です。
msg: "First package is {{ packages[0] }}"名前だけでなく式も使える
波括弧の中には、数学演算、比較、連結などの実際の式を記述できます。Ansibleが式全体を評価します。
msg: "Total: {{ workers * 2 }}"フィルターで値を変換する
パイプを使うと、値にフィルターを適用して形を変えられます。ここではupperによって、表示前に文字列を大文字に変換しています。
msg: "{{ region | upper }}"波括弧を使うのは文字列内だけ
置換は文字列の値の中で行われます。nameのような単独のキーでも、{{ }}で始まる場合は値を引用符で囲む必要があります。
未定義の値に注意する
一度も設定されていない名前を参照すると、undefined variableエラーが発生します。先に定義するか、defaultフィルターを指定してください。
msg: "{{ tier | default('web') }}"クイックチェック
name: {{ app_name }}を引用符で囲む必要があるのはなぜでしょうか。
まとめ
{{ }}で値を置換し、リストや辞書の要素にアクセスし、フィルターを適用し、先頭の波括弧を引用符で囲む方法を学びました。✨
よくある質問
「{{ }}置換構文」レッスンは無料ですか?
はい。「{{ }}置換構文」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「{{ }}置換構文」で何を学びますか?
文字列や引数に変数を埋め込みます ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「{{ }}置換構文」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。