filebase64 함수
filebase64 함수
filebase64는 주어진 경로에 있는 파일의 내용을 읽어 base64로 인코딩된 문자열로 돌려주는 함수예요. 바이너리 데이터를 문자열로 다룰 때 사용합니다.
출처: Packer 공식 문서
본문
filebase64는 주어진 경로에 있는 파일의 내용을 읽어 base64로 인코딩된 문자열로 반환합니다.
filebase64(path)
결과는 주어진 파일에 있는 원본 바이트(raw bytes)의 Base64 표현이에요. Packer 언어의 문자열은 Unicode 문자들의 시퀀스이므로, Unicode 문자로 해석할 수 없는 원본 바이너리 데이터를 나타내는 표준적인 방법이 바로 Base64입니다. 바이너리 데이터를 다루는 리소스 타입은 이렇게 Base64로 인코딩된 데이터를 받아들이기 때문에, 이 함수의 결과를 다시 디코딩할 필요가 없어요.
Packer는 RFC 4648 4절에 정의된 "standard" Base64 알파벳을 사용합니다.
이 함수는 Packer 실행이 시작되는 시점에 이미 디스크에 정적 파일로 존재하는 파일에만 사용할 수 있어요. 언어 함수는 의존성 그래프(dependency graph)에 참여하지 않기 때문에, Packer 작업 도중에 동적으로 생성되는 파일에는 이 함수를 쓸 수 없습니다.
Examples
> filebase64("${path.module}/hello.txt")
SGVsbG8gV29ybGQ=
더 알아보기 (Learn more)
file도 주어진 파일의 내용을 읽지만, 데이터를 UTF-8 텍스트로 해석해서 추가 인코딩 없이 결과를 문자열로 직접 반환해 줘요.base64decode는 UTF-8로 표현된 바이트의 Base64 문자열을 디코딩할 수 있는데, 실제로base64decode(filebase64(...))는 더 짧은 표현식인file(...)과 동일해요.