本文へスキップ

Jinja2 フィルタで構造化データを変換する

Pro会員限定上級約38分6レッスン

人事システムのアカウント台帳や、アプリの既定値と本番の上書き値など、Ansible には入れ子のデータが流れてきます。selectattr・map・items2dict・combine・extract・from_json で、必要な形にデータを変換する書き方を身につけます。

対象者: 変数の加工のために shell や set_fact を何段も重ねている方 / テンプレートの式が読めずに困っている方

前提知識: 動的インベントリと constructed 修了程度

この教材を終えると、できるようになること

  • 辞書のリストを selectattr で絞り、map(attribute=...) で値だけのリストにできるようになる。
  • items2dict(key_name / value_name)で、辞書のリストから引き当て用の辞書を作れるようになる。
  • combine の既定(浅いマージ)と recursive=true(深いマージ)の違いを説明し、既定値と上書き値を正しく合成できるようになる。
  • groups と hostvars を map('extract', hostvars, ...) で組み合わせ、他のホストの変数をテンプレートに並べられるようになる。
  • register した stdout(文字列)を from_json で辞書にし、中の値を取り出せるようになる。

修了後の姿: 大規模・複数チームで使えるAnsibleコードを設計・テスト・配布し、変更をエラーを出さずに安全に本番へ流せる自動化エンジニアへ。

この講座はPro会員限定です。無料の会員登録後、無料レッスンのあるコースから学習を始められます。