メインコンテンツにスキップ

filebase64 関数

filebase64 は、指定されたパスにあるファイルの内容を読み込み、base64 エンコードされた文字列として返します。

コードブロック
filebase64(path)

結果は、指定されたファイルの raw バイトの Base64 表現です。 OpenTofu 言語の文字列は Unicode 文字のシーケンスであるため、Base64 は Unicode 文字として解釈できない raw バイナリデータを表す標準的な方法です。バイナリデータを操作するリソースタイプは、このデータを Base64 でエンコードされた状態で受け入れるため、この関数の結果をデコードする必要はありません。

OpenTofu は、RFC 4648 セクション 4 で定義されている「標準」Base64 アルファベットを使用します。

この関数は、OpenTofu の実行開始時に既にディスク上に静的ファイルとして存在する関数でのみ使用できます。言語関数は依存関係グラフに参加しないため、この関数は OpenTofu 操作中に動的に生成されるファイルでは使用できません。

コードブロック
> filebase64("${path.module}/hello.txt")
SGVsbG8gV29ybGQ=
  • file も指定されたファイルの内容を読み込みますが、データは UTF-8 テキストとして解釈され、さらにエンコードすることなく、結果が文字列として直接返されます。
  • base64decode は、UTF-8 のバイトを表す Base64 文字列をデコードできますが、実際には base64decode(filebase64(...)) は、より短い式 file(...) と同等です。