本文へスキップ

file 関数

file は、指定されたパスのファイルの内容を読み取り、文字列として返します。

コードブロック
file(path)

OpenTofu言語の文字列はUnicode文字のシーケンスであるため、この関数はファイルの内容をUTF-8エンコードされたテキストとして解釈し、結果のUnicode文字を返します。ファイルに無効なUTF-8シーケンスが含まれている場合、この関数はエラーを発生させます。

この関数は、OpenTofuの実行開始時に既にディスク上に存在するファイルでのみ使用できます。関数は依存関係グラフに関与しないため、OpenTofu操作中に動的に生成されるファイルでは使用できません。OpenTofuの設定で動的なローカルファイルを使用することは推奨しませんが、まれにこれが必要な場合は、local_file データソース を使用して、リソースの依存関係を尊重しながらファイルを読み取ることができます。

コードブロック
> file("${path.module}/hello.txt")
Hello World
  • filebase64 も指定されたファイルの内容を読み取りますが、UTF-8テキストとして解釈するのではなく、そのファイルの生のバイトをBase64エンコードして返します。
  • fileexists は、指定されたパスにファイルが存在するかどうかを判断します。
  • templatefile は、ディスク上のファイルを使用してテンプレートをレンダリングします。