Dataform에서 패키지를 사용하려면 저장소에 패키지를 설치해야 합니다.
Dataform에서 다음 유형의 패키지를 설치할 수 있습니다.
- 게시된 공개 NPM 패키지
- 게시되지 않은 공개 NPM 패키지입니다.
- 인증된 비공개 NPM 패키지
그런 다음 JavaScript 또는 SQLX 파일에서 패키지를 사용하려면 패키지의 선택한 콘텐츠를 파일로 가져와야 합니다. 또한 전체 패키지를 선택된 콘텐츠 대신 JavaScript 또는 SQLX 파일로 가져올 수 있습니다.
프로덕션 환경에서 패키지 설치 문제를 방지하려면 다음을 따르는 것이 좋습니다.
package.json
에서 패키지 버전을 명시적으로 지정하세요(예:3.0.0
).package.json
의 다른dependencies
옵션(예:>version
)을 사용하지 마세요.비프로덕션 환경에서 새 패키지 버전을 테스트합니다. 다양한 코드 수명 주기 환경 구성에 대한 자세한 내용은 코드 수명 주기 관리를 참조하세요.
시작하기 전에
Google Cloud 콘솔에서 Dataform 페이지로 이동합니다.
저장소를 선택하거나 만듭니다.
개발 작업공간을 선택하거나 만듭니다.
저장소에
package.json
파일이 없으면package.json
을 만들고 Dataform Core 패키지를 이동합니다.(선택사항) 비공개 패키지를 설치하려면 비공개 패키지를 인증합니다.
필요한 역할
패키지를 설치하는 데 필요한 권한을 얻으려면 관리자에게 작업공간에 대한 Dataform 편집자(roles/dataform.editor
) IAM 권한을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
패키지 설치
Dataform 저장소 내에 패키지를 설치하려면 package.json
파일에 패키지를 종속 항목으로 추가해야 합니다.
패키지를 package.json
파일에 종속 항목으로 추가하려면 다음을 수행합니다.
- 작업공간의 파일 창에서
package.json
을 선택합니다. dependencies
블록에 패키지를 추가합니다.게시된 공개 NPM 패키지를 다음 형식으로 추가합니다.
"PACKAGE-NAME": "PACKAGE-VERSION"
다음을 바꿉니다.
- PACKAGE-NAME: 패키지 이름
- PACKAGE-VERSION: 최신 버전의 게시된 공개 NPM 패키지 패키지 설치 관련 문제를 방지하려면 버전을 명시적으로 지정합니다(예:
3.0.0
).
게시되지 않은 공개 NPM 패키지를 다음 형식으로 추가합니다.
"PACKAGE-NAME": "PACKAGE-URL"
다음을 바꿉니다.
- PACKAGE-NAME: 패키지 이름
- PACKAGE-URL을 제3자 패키지 저장소의
tar.gz
URL(예:https://github.com/user/sample-package-repository/archive/master.tar.gz
)로 바꿉니다.
인증된 비공개 NPM 패키지를 다음 형식으로 추가합니다.
"REGISTRY-SCOPE/PACKAGE-NAME": "PACKAGE-URL"
다음을 바꿉니다.
- REGISTRY-SCOPE: 패키지 이름.
REGISTRY-SCOPE는 저장소의
.nmprc
파일에 정의된 레지스트리 범위와 일치해야 합니다. - PACKAGE-NAME: 패키지 이름
- PACKAGE-URL: 패키지 저장소의
tar.gz
URL(예:https://github.com/user/sample-package-repository/archive/master.tar.gz
)
- REGISTRY-SCOPE: 패키지 이름.
REGISTRY-SCOPE는 저장소의
패키지 설치를 클릭합니다.
다음 코드 샘플은 .package.json
파일에 추가된 공개 오픈소스 지연 변경 측정기준 패키지를 보여줍니다.
```json
{
"name": "repository-name",
"dependencies": {
"@dataform/core": "2.0.3",
"dataform-scd": "https://github.com/dataform-co/dataform-scd/archive/0.3.tar.gz"
}
}
```
Dataform에서 자바스크립트 파일로 패키지 함수 또는 상수 가져오기
Dataform에서 JavaScript 파일 내 패키지의 함수 또는 상수를 사용하려면 먼저 이를 파일로 가져와야 합니다.
패키지에서 JavaScript 파일로 함수 또는 상수를 가져오려면 다음 단계를 따르세요.
- 작업공간의 파일 창에서 패키지를 사용하려는
.js
파일을 선택합니다. 파일에서 함수 또는 상수를 다음 형식으로 가져옵니다.
const { EXPORT-NAME } = require("PACKAGE-NAME");
- EXPORT-NAME을 패키지
index.js
파일의module.exports
에서 선언된 사용하려는 함수 또는 상수의 이름으로 바꿉니다. - PACKAGE-NAME을 사용하려는 패키지 이름으로 바꿉니다.
- EXPORT-NAME을 패키지
다음 코드 샘플은 JavaScript 파일에서 가져와서 사용되는 postoffice
패키지의 getDomain
함수를 보여줍니다.
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const { getDomain } = require("postoffice");
getDomain();
Dataform에서 전체 패키지를 JavaScript 파일로 가져오기
선택한 함수 또는 상수를 JavaScript 파일로 가져오는 대신 전체 패키지를 JavaScript 파일로 가져오려면 다음 단계를 따르세요.
- 작업공간의 파일 창에서 패키지를 사용하려는
.js
파일을 선택합니다. 파일에서 다음 형식으로 패키지를 가져옵니다.
const CONSTANT-NAME = require("PACKAGE-NAME");
- CONSTANT-NAME을 상수 이름으로 바꿉니다.
- PACKAGE-NAME을 사용하려는 패키지 이름으로 바꿉니다.
다음 코드 샘플은 JavaScript 파일에 사용되는 가져온 postoffice
패키지의 getDomain
함수를 보여줍니다.
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
const postoffice = require("postoffice");
postoffice.getDomain();
Dataform에서 SQLX 파일로 패키지 함수 또는 상수 가져오기
SQLX 파일 내 패키지의 함수 또는 상수를 사용하려면 먼저 이를 파일로 가져와야 합니다.
패키지의 함수 또는 상수를 SQLX 파일로 가져오려면 다음 단계를 따르세요.
- 작업공간의 파일 창에서 패키지를 사용하려는
.sqlx
파일을 선택합니다. 파일에 다음
js
블록을 입력합니다.js { const { EXPORT-NAME } = require("PACKAGE-NAME"); }
- EXPORT-NAME을 패키지
index.js
파일의module.exports
에서 선언된 사용하려는 함수 또는 상수의 이름으로 바꿉니다. - PACKAGE-NAME을 사용하려는 패키지 이름으로 바꿉니다.
- EXPORT-NAME을 패키지
다음 코드 샘플은 js
블록으로 가져오고 SQLX 파일의 SELECT
문에서 사용된 postoffice
패키지의 getDomain
함수를 보여줍니다.
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const { getDomain } = require("postoffice");
}
SELECT ${getDomain("email")} as test
Dataform에서 SQLX 파일로 전체 패키지 가져오기
선택한 함수 또는 상수를 JavaScript 파일로 가져오는 대신 전체 패키지를 SQLX 파일로 가져오려면 다음 단계를 수행합니다.
- 작업공간의 파일 창에서 패키지를 사용하려는
.sqlx
파일을 선택합니다. 파일에서 다음 형식으로 패키지를 가져옵니다.
js { const CONSTANT-NAME = require("PACKAGE-NAME"); }
- CONSTANT-NAME을 상수 이름으로 바꿉니다.
- PACKAGE-NAME을 사용하려는 패키지 이름으로 바꿉니다.
다음 코드 샘플은 js
블록으로 가져온 postoffice
패키지와 SQLX 파일의 SELECT
문에서 사용된 getDomain
함수를 보여줍니다.
/*
* Contents of postoffice index.js:
* module.exports = { getDomain };
*/
config {
type: "table",
}
js {
const postoffice = require("postoffice");
}
SELECT ${postoffice.getDomain("email")} as test
다음 단계
- Dataform에서 비공개 NPM 패키지를 인증하는 방법은 Dataform에서 비공개 패키지 인증을 참조하세요.
- 필수 Dataform Core 패키지를 관리하는 방법은 Dataform Core 패키지 관리를 참고하세요.
- Dataform에서 자체 패키지를 만드는 방법은 Dataform에서 패키지 만들기를 참조하세요.
- Dataform에서 오픈소스 패키지를 사용하는 방법은 Dataform에서 지연 변경 측정기준 사용을 참조하세요.