여러 Dataform 저장소에서 재사용할 수 있는 패키지를 만들려면 패키지 전용 Dataform 저장소를 만들고 제3자 Git 저장소에 연결하여 다른 Dataform 저장소에서 사용할 수 있도록 해야 합니다.
그런 다음 최상위 index.js
파일을 만들고 내보낼 수 있는 패키지 콘텐츠(예: 함수 및 상수)를 파일에 추가해야 합니다. Dataform에서 만든 패키지의 예시는 GitHub의 dataform-package-base
를 참조하세요.
패키지를 만들면 패키지를 다른 Dataform 저장소에 설치하고 패키지에서 내보낼 수 있는 콘텐츠(예: 상수 및 함수)를 사용하여 SQL 워크플로를 개발할 수 있습니다.
패키지를 만드는 대신 include로 단일 Dataform 저장소에서 JavaScript 함수 및 상수를 재사용할 수 있습니다. 자세한 내용은 Dataform에서 include로 변수 및 함수 재사용을 참조하세요.
시작하기 전에
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
패키지 전용 Dataform 저장소를 만듭니다. 저장소 이름과 패키지 이름을 일치시킵니다.
패키지를 호스팅하는 제3자 Git 저장소에 저장소를 연결합니다.
Dataform 저장소에서 작업공간을 만들고 초기화합니다.
필요한 역할
패키지를 만드는 데 필요한 권한을 얻으려면 관리자에게 저장소에 대한 Dataform 관리자(roles/dataform.admin
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Dataform에서 패키지 만들기
Dataform에서 재사용할 수 있는 JavaScript 코드로 자체 패키지를 만들려면 작업공간에서 다음 단계를 따르세요.
파일 창에서
더보기 메뉴를 클릭합니다.파일 만들기를 클릭합니다.
새 파일 만들기 창에서 다음을 수행합니다.
파일 경로 추가 필드에
index.js
를 입력합니다.파일 만들기를 클릭합니다.
index.js
파일에서 패키지를 내보낼 JavaScript 코드를 입력합니다.다음 형식으로 상수를 만듭니다.
const CONSTANT_NAME = CONSTANT_VALUE; module.exports = { CONSTANT_NAME };
다음을 바꿉니다.
CONSTANT_NAME
: 상수 이름CONSTANT_VALUE
: 상수 값
다음 형식으로 함수를 만듭니다.
function FUNCTION_NAME(PARAMETERS) { FUNCTION_BODY } module.exports = { FUNCTION_NAME }
다음을 바꿉니다.
FUNCTION_NAME
: 함수 이름PARAMETERS
: 함수의 매개변수FUNCTION_BODY
: 함수에서 실행할 코드
(선택사항): 형식을 클릭합니다.
(선택사항):
definitions
디렉터리에 내보내지 않을 패키지 코드를 추가합니다.
다음 패키지 코드 샘플은 getDomain
함수를 내보내는 postoffice
패키지의 index.js
파일을 보여줍니다.
// filename index.js
// package name postoffice
const GENERIC_DOMAINS = "('samplemail.com','samplemail.co.uk','examplemailbox.com'";
function getDomain(email) {
let cleanEmail = `trim(${email})`
const domain = `substr(${cleanEmail}, strpos(${cleanEmail}, '@') + 1)`;
return `case
when ${domain} in ${common.GENERIC_DOMAINS} then ${cleanEmail}
when ${domain} = "othermailbox.com" then "other.com"
when ${domain} = "mailbox.com" then "mailbox.global"
when ${domain} = "support.postman.com" then "postman.com"
else ${domain}
end`;
}
module.exports = { getDomain }
다음 단계
- 저장소에 패키지를 설치하고 JavaScript 또는 SQLX 파일로 콘텐츠를 가져오는 방법을 알아보려면 Dataform에 패키지 설치를 참조하세요.
- Dataform의 패키지에 대한 자세한 내용은 패키지를 사용하여 여러 저장소 간에 코드 재사용을 참조하세요.
- JavaScript 변수 및 함수를 Dataform에서 재사용할 수 있는 방법을 알아보려면 Dataform에서 include로 변수 및 함수 재사용을 참조하세요.