0Pricing
Ansible Academy · レッスン

{{ }}置換構文

文字列や引数に変数を埋め込みます

「{{ }}置換構文」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全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チューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。

「{{ }}置換構文」で何を学びますか?

文字列や引数に変数を埋め込みます ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ansible Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「{{ }}置換構文」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAnsible Academyレッスンでコードを書いて実行できますか?

はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Playでのvarsの定義と利用
  2. {{ }}置換構文
  3. コマンドラインでのExtra Vars
  4. 変数の出所と優先順位
← Ansible Academyに戻る