file 함수

file 함수

file 함수는 주어진 경로의 파일 내용을 읽어 문자열로 돌려줘요. Terraform 언어의 문자열은 유니코드 문자 시퀀스이므로, 파일 내용을 UTF-8로 인코딩된 텍스트로 해석해요. 이 함수는 Terraform 실행 시작 시점에 이미 디스크에 존재하는 파일에만 사용할 수 있어요.

출처: 문서

본문

file은 주어진 경로에 있는 파일의 내용을 읽어 문자열로 돌려줘요.

file(path)

Terraform 언어의 문자열은 유니코드 문자 시퀀스이므로, 이 함수는 파일 내용을 UTF-8로 인코딩된 텍스트로 해석하고 그 결과 유니코드 문자를 돌려줘요. 파일에 유효하지 않은 UTF-8 시퀀스가 있으면 이 함수는 오류를 발생시켜요.

이 함수는 Terraform 실행이 시작될 때 이미 디스크에 존재하는 파일에만 사용할 수 있어요. 함수는 의존성 그래프에 참여하지 않기 때문에, Terraform 작업 중에 동적으로 생성되는 파일에는 이 함수를 사용할 수 없어요. Terraform 구성에서 동적 로컬 파일을 사용하는 것은 권장하지 않지만, 꼭 필요한 드문 상황에서는 the local_file data source를 사용해 리소스 의존성을 존중하면서 파일을 읽을 수 있어요.

예시

> file("${path.module}/hello.txt")
Hello World

관련 함수

  • filebase64 - 주어진 파일의 내용도 읽지만, 내용을 UTF-8 텍스트로 해석하는 대신 원시 바이트를 Base64로 인코딩해 돌려줘요.
  • fileexists - 주어진 경로에 파일이 존재하는지 판단해요.
  • templatefile - 디스크의 파일을 템플릿으로 사용해 렌더링해요.

더 알아보기 (Learn more)