템플릿에서 프로젝트 부트스트래핑하기¶
프로젝트의 인스턴스화를 간소화할 수 있도록 Snowflake CLI 는 프로젝트 템플릿 생성을 구현합니다. 사용자는 자체 프로젝트 템플릿을 생성 하거나 Snowflake CLI 템플릿 공개 Git 리포지토리에서 Snowflake가 제공하는 샘플을 사용할 수 있습니다.
snow init 명령은 프로젝트 디렉터리를 생성하고 지정된 템플릿에 정의된 파일 구조로 프로젝트 디렉터리를 채웁니다.
사용자가
--no-interactive옵션을 입력하지 않으면 템플릿(template.yml)에서 지정한 각 변수에 대해 사용자가-D(또는--variable) 옵션을 입력하지 않은 명령 프롬프트가 표시됩니다.--no-interactive옵션을 입력하면 명령은 (템플릿에 정의된) 변수의 기본값을 사용합니다. 템플릿에 변수에 대한 기본값이 정의되어 있지 않고-D옵션을 사용하여 변수를 제공하지 않으면 명령이 오류와 함께 종료됩니다.
snow init 명령은 다음 구문을 사용합니다.
여기서,
PATH는 명령이 프로젝트를 초기화하는 새 디렉터리입니다. 기존 디렉터리를 지정하면 명령이 오류와 함께 종료됩니다.[--template-source SOURCE]은 다음 중 하나입니다.템플릿 디렉터리의 로컬 파일 경로입니다.
프로젝트 템플릿이 포함된 디렉터리에 대한 유효한 Git URL입니다. 지정하지 않으면 명령은 기본적으로 Snowflake CLI 템플릿 Git 리포지토리를 사용합니다.
[--template NAME]는 템플릿으로 사용할SOURCE의 하위 디렉터리를 지정합니다(원격 소스에 유용). 제공되지 않는 경우,SOURCE는 단일 템플릿으로 취급됩니다.[-D key1=value1 -D key2=value2...]는 하나 이상의 이름-값 페어 목록으로, 템플릿(template.yml에 있는)에 정의된 변수의 값을 제공합니다. 이 명령은 이 옵션으로 제공하는 변수를 묻는 메시지를 표시하지 않습니다.[--no-interactive]는 사용자 입력 메시지를 비활성화합니다. 이 옵션을 사용하는 경우 사용자는 모든 필수 값을[-D key1=value1 -D key2=value2...]옵션과 함께 제공해야 하며, 그렇지 않으면 명령에 오류가 발생합니다.
자세한 내용은 snow init 명령 참조를 참조하십시오.
예¶
기본 리포지토리의
example_snowpark템플릿에서 프로젝트를 초기화합니다.명령 프롬프트 대상(기본값은 대괄호 안에 표시됨):
로컬 템플릿에서 프로젝트를 초기화합니다.
이 예제에서는
query_warehouse및stage변수가-D옵션으로 지정되었으므로 명령은 다음을 묻는 메시지만 표시합니다.
사용자 지정 템플릿 만들기¶
템플릿 레이아웃¶
프로젝트 템플릿에는 snow init 명령이 템플릿을 렌더링하는 방법을 설명하는 데이터가 포함된 template.yml 파일이 필요합니다. 파일이 템플릿의 루트 디렉터리에 없는 경우 snow init 은 오류와 함께 종료됩니다. 자세한 내용은 template.yml syntax. 섹션을 참조하십시오.
템플릿 구문¶
템플릿 변수와 식은 <! ... !> 로 묶어야 합니다. Snowflake CLI 는 기본 jinja2 식 및 필터도 지원하며, 그러한 예는 다음과 같습니다.
Snowflake CLI 프로젝트 템플릿은 다음의 예약 변수 및 필터도 지원합니다.
project_dir_name변수, 생성된 프로젝트의 루트 디렉터리로 자동 확인됩니다.예를 들어,
snowflake.yml파일에 다음이 포함되어 있다고 가정해 보겠습니다.그런 다음, 다음 명령을 실행하여 사용자 지정 템플릿에서 프로젝트를 초기화합니다.
snow init명령은snowflake.yml파일을 다음과 같이 렌더링합니다.to_snowflake_identifier필터, 사용자가 제공한 문자열을 올바르게 형식이 지정된 Snowflake 식별자로 포맷합니다.Snowflake는 변수가 Snowflake 오브젝트를 참조할 때 이 필터를 사용할 것을 강력히 권장합니다.
예를 들어,
snowflake.yml파일에 다음이 포함되어 있다고 가정해 보겠습니다.그런 다음, 다음 명령을 실행하여 사용자 지정 템플릿에서 프로젝트를 초기화합니다.
snow init명령은snowflake.yml파일을 다음과 같이 렌더링합니다.문자열을 유효한 Snowflake 식별자로 변환할 수 없는 경우 다음과 같이 오류와 함께
snow init명령이 종료됩니다.
template.yml 프로젝트 템플릿 파일 정보¶
template.yml 프로젝트 템플릿 파일에는 프로젝트 렌더링에 필요한 모든 데이터가 저장됩니다. 예:
다음 테이블에는 template.yml 프로젝트 템플릿 파일에 있는 속성이 나열되어 있습니다.
속성 |
정의 |
|---|---|
선택 사항, 문자열 (기본값: 없음) |
최소 Snowflake CLI 버전입니다. 지정한 경우 |
선택 사항, 문자열 목록 (기본값: |
참고 이 목록에 포함되지 않은 템플릿 파일은 새 프로젝트에 추가되지만, 그 내용은 변경되지 않습니다. |
선택 사항, 변수 목록 (기본값: |
템플릿 변수의 목록입니다. 프롬프트 사용자 지정, 선택 사항 변수에 대한 기본값 제공, 기본 유형 검사를 지원합니다. 자세한 내용은 아래의 변수 속성 매개 변수 테이블을 참조하십시오. 변수 값은 이 목록의 순서대로 결정됩니다. 이 목록에서 |
다음 테이블에는 가변 속성의 매개 변수가 나열되어 있습니다.
속성 |
정의 |
|---|---|
필수, 문자열 |
변수의 이름입니다. |
선택 사항, 문자열 |
값을 가져오기 위해 사용자에게 표시하는 프롬프트입니다. 이 매개 변수를 설정하지 않으면 명령에 매개 변수 이름이 프롬프트 텍스트로 표시됩니다. 프롬프트를 다음과 같이 정의한 경우:
|
선택 사항, 문자열/정수/부동소수점 |
Default value of the variable. If not provided, the variable is treated as required, so a user needs to provide the value after a prompt or by specifying it with the 다음 예제에서는 기본값을 사용하여 두 개의 변수를 정의합니다. 실행되면, 이 예제에서는 기본값이 있는 |
선택 사항, 문자열 |
변수의 데이터 타입입니다. 유효한 값으로는 다음 예제에서는 변수를 snow init 명령을 실행하면 사용자가 잘못된 데이터 타입의 값을 입력하는 경우 다음 오류가 표시됩니다. |