filebase64 함수

filebase64 함수

filebase64 함수는 주어진 경로의 파일 내용을 읽어 base64로 인코딩된 문자열로 반환해주는 내장 함수예요. 결과는 해당 파일의 원시 바이트를 Base64로 표현한 값이에요.

출처: 문서

본문

filebase64(path)는 주어진 경로의 파일 내용을 읽어 base64로 인코딩된 문자열로 반환해요. 결과는 해당 파일에 있는 원시 바이트를 Base64로 표현한 값이에요.

Terraform 언어의 문자열은 유니코드 문자의 시퀀스이므로, 유니코드 문자로 해석할 수 없는 원시 이진 데이터를 표현하는 표준 방법이 Base64예요. 이진 데이터를 다루는 리소스 타입은 이 데이터를 Base64로 인코딩된 채로 받아들이므로, 이 함수의 결과를 디코딩할 필요가 없어요.

Terraform은 RFC 4648 섹션 4에 정의된 "표준" Base64 알파벳을 사용해요.

이 함수는 Terraform 실행이 시작될 때 디스크에 이미 정적 파일로 존재하는 파일에만 사용할 수 있어요. 언어 함수는 의존성 그래프에 참여하지 않으므로, Terraform 작업 중에 동적으로 생성되는 파일에는 이 함수를 사용할 수 없어요.

> filebase64("${path.module}/hello.txt")
SGVsbG8gV29ybGQ=

관련 함수

  • file은 주어진 파일의 내용을 읽지만 그 데이터를 UTF-8 텍스트로 해석해 추가 인코딩 없이 바로 문자열로 반환해요.
  • base64decode는 UTF-8의 바이트를 나타내는 Base64 문자열을 디코딩할 수 있지만, 실제로 base64decode(filebase64(...))는 더 짧은 표현 file(...)과 동등해요.

더 알아보기 (Learn more)