snow app version create¶
애플리케이션 패키지에 정의된 버전에 새로운 패치를 추가합니다. 버전이 존재하지 않으면 버전을 패치 0으로 생성합니다.
구문¶
snow app version create
<version>
--patch <patch>
--label <label>
--skip-git-check
--from-stage
--interactive / --no-interactive
--force
--package-entity-id <package_entity_id>
--app-entity-id <app_entity_id>
--project <project_definition>
--env <env_overrides>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--oauth-client-id <oauth_client_id>
--oauth-client-secret <oauth_client_secret>
--oauth-authorization-url <oauth_authorization_url>
--oauth-token-request-url <oauth_token_request_url>
--oauth-redirect-uri <oauth_redirect_uri>
--oauth-scope <oauth_scope>
--oauth-disable-pkce
--oauth-enable-refresh-tokens
--oauth-enable-single-use-refresh-tokens
--client-store-temporary-credential
--format <format>
--verbose
--debug
--silent
--enhanced-exit-codes
인자¶
version
애플리케이션 패키지에서 정의할 버전입니다. 해당 버전이 이미 있는 경우 자동 증분 패치가 해당 버전에 추가됩니다. 기본값은
manifest.yml
파일에 지정된 버전입니다.
선택 사항¶
--patch INTEGER
기존 버전에 대해 생성할 패치 번호입니다. 설정하지 않으면 기본값은 정의되지 않음으로 설정되며, 이는 Snowflake CLI가
manifest.yml
파일에 지정된 패치를 사용하거나 새 패치 번호를 자동으로 생성한다는 의미입니다.--label TEXT
컨슈머에게 표시되는 버전에 대한 레이블입니다. 설정하지 않으면
manifest.yml
파일에 지정된 버전 레이블이 사용됩니다.--skip-git-check
활성화된 경우, Snowflake CLI는 프로젝트에 추적되지 않거나 스테이징된 파일이 있는지 git에서 확인을 건너뜁니다. 기본값: 설정 해제. 기본값: False.
--from-stage
활성화된 경우 Snowflake CLI 는 스테이지와 먼저 동기화하지 않고 현재 애플리케이션 패키지 스테이지에서 버전을 생성합니다. 기본값: False.
--interactive / --no-interactive
이 옵션을 활성화하면 표준 입력 및 출력이 터미널 디바이스가 아닌 경우에도 프롬프트가 표시됩니다. 대화형 셸 환경에서는 기본값이 True이고, 그렇지 않으면 False입니다.
--force
이 옵션을 활성화하면 명령은 발생하는 모든 프롬프트를 암시적으로 승인합니다. 대화형 모드가 지정되지 않았고 치명적일 수 있는 작업을 수행하려는 경우 이 옵션을 활성화해야 합니다. 기본값은 설정 해제입니다. 기본값: False.
--package-entity-id TEXT
definition_version이 2 이상인 경우 작업할 패키지 엔터티의 ID 입니다.
--app-entity-id TEXT
definition_version이 2 이상인 경우 작업할 애플리케이션 엔터티의 ID 입니다.
-p, --project TEXT
Snowflake 프로젝트가 저장된 경로입니다. 현재 작업 디렉터리로 기본 설정됩니다.
--env TEXT
키=값 형식의 문자열입니다. 템플릿에 사용되는 환경 섹션의 변수를 재정의합니다. 기본값: [].
--connection, -c, --environment TEXT
config.toml
파일에 정의된 연결의 이름입니다. 기본값:default
.--host TEXT
연결을 위한 호스트 주소입니다. 연결에 지정된 값을 재정의합니다.
--port INTEGER
연결의 포트입니다. 연결에 지정된 값을 재정의합니다.
--account, --accountname TEXT
Snowflake 계정에 할당된 이름입니다. 연결에 지정된 값을 재정의합니다.
--user, --username TEXT
Snowflake에 연결할 사용자 이름입니다. 연결에 지정된 값을 재정의합니다.
--password TEXT
Snowflake 비밀번호입니다. 연결에 지정된 값을 재정의합니다.
--authenticator TEXT
Snowflake 인증자입니다. 연결에 지정된 값을 재정의합니다.
--private-key-file, --private-key-path TEXT
Snowflake 개인 키 파일 경로입니다. 연결에 지정된 값을 재정의합니다.
--token-file-path TEXT
Snowflake에 연결할 때 사용할 OAuth 토큰이 포함된 파일 경로입니다.
--database, --dbname TEXT
사용할 데이터베이스입니다. 연결에 지정된 값을 재정의합니다.
--schema, --schemaname TEXT
사용할 데이터베이스 스키마입니다. 연결에 지정된 값을 재정의합니다.
--role, --rolename TEXT
사용할 역할입니다. 연결에 지정된 값을 재정의합니다.
--warehouse TEXT
사용할 웨어하우스입니다. 연결에 지정된 값을 재정의합니다.
--temporary-connection, -x
Config에 정의된 연결 대신 명령줄 매개 변수로 정의된 연결을 사용합니다. 기본값: False.
--mfa-passcode TEXT
다단계 인증(MFA)에 사용할 토큰입니다.
--enable-diag
연결 진단 보고서를 생성할지 여부입니다. 기본값: False.
--diag-log-path TEXT
생성된 보고서의 경로입니다. 기본값은 시스템 임시 디렉터리입니다. 기본값: <system_temporary_directory>.
--diag-allowlist-path TEXT
허용 목록 매개 변수가 포함된 JSON 파일의 경로입니다.
--oauth-client-id TEXT
Snowflake 통합을 위해 ID 공급자가 제공한 클라이언트 ID의 값입니다.
--oauth-client-secret TEXT
Snowflake 통합을 위해 ID 공급자가 제공한 클라이언트 시크릿의 값입니다.
--oauth-authorization-url TEXT
드라이버에 인증 코드를 제공하는 ID 공급자 엔드포인트입니다.
--oauth-token-request-url TEXT
드라이버에 액세스 토큰을 제공하는 ID 공급자 엔드포인트입니다.
--oauth-redirect-uri TEXT
인증 코드 리디렉션에 사용할 URI 입니다.
--oauth-scope TEXT
ID 공급자 승인 요청에서 요청된 범위입니다.
--oauth-disable-pkce
PKCE (Proof Key for Code Exchange)를 비활성화합니다. 기본값:
False
.--oauth-enable-refresh-tokens
실제 액세스 토큰이 오래되었을 때 자동 재인증을 활성화합니다. 기본값:
False
.--oauth-enable-single-use-refresh-tokens
일회용 새로 고침 토큰 시맨틱에 옵트인할지 여부입니다. 기본값:
False
.--client-store-temporary-credential
임시 자격 증명을 저장합니다.
--format [TABLE|JSON]
출력 형식을 지정합니다. 기본값: TABLE.
--verbose, -v
로그 수준
정보
이상에 대한 로그 항목을 표시합니다. 기본값: False.--debug
로그 수준
디버그
이상에 대한 로그 항목을 표시하며, 디버그 로그에는 추가 정보가 포함됩니다. 기본값: False.--silent
콘솔로의 중간 출력을 끕니다. 기본값: False.
--enhanced-exit-codes
실패 유형에 따라 종료 오류 코드를 차별화하십시오. 기본값: False.
--help
이 명령에 대한 도움말 텍스트를 표시합니다.
사용법 노트¶
참고
이 명령은 config.toml
파일에 대한 역할 또는 웨어하우스 재정의를 허용하지 않습니다. 대신, snowflake.yml
또는 snowflake.local.yml
의 네이티브 앱 정의에 추가합니다.
이 명령은 버전과 선택적 패치를 포함하여 애플리케이션 패키지를 생성합니다(존재하지 않는 경우).
버전을 제공하지 않으면 명령은
manifest.yml
파일에 지정된 버전을 사용합니다.manifest.yml
파일에 버전이 없는 경우 명령에서 오류가 발생합니다.버전 인자와
--patch
옵션을 모두 제공했지만, 애플리케이션 패키지가 아직 존재하지 않으면 명령에서 오류가 발생합니다. 필요한 버전으로 새로운 애플리케이션 패키지를 생성하려면 버전 인자만 제공해야 합니다.버전 인자와
--patch
옵션을 모두 제공했지만, 버전이 아직 존재하지 않으면 명령에서 오류가 발생합니다. 미리 지정된 패치 0으로 새 버전을 생성하려면 버전 인자만 제공해야 합니다.Git 리포지토리에서 작업하고 이 명령을 실행하면, 해당 명령은 작업 복사본에 대한 로컬 변경 사항을 확인합니다. 로컬 변경 사항을 발견하면 계속 진행해도 안전한지 확인할 것을 요청하는 메시지가 표시됩니다.
--skip-git-check
옵션을 사용하여 이 확인을 건너뛸 수 있습니다.애플리케이션 패키지가 존재하지 않으면 Snowflake CLI 가 특수 설명
GENERATED_BY_SNOWCLI
로 태그를 지정하여 새 패키지를 생성합니다. 또한 배포 후 훅을 실행하고 코드 파일을 스테이지에 업로드합니다.애플리케이션 패키지가 이미 존재하고 배포 속성이
INTERNAL
인 경우, 이 명령은 해당 패키지가 Snowflake CLI 에 의해 생성되었는지 확인합니다. 그렇지 않은 경우, 해당 명령에서는 오류가 발생합니다. 애플리케이션 패키지의 배포가EXTERNAL
인 경우 이러한 검사는 수행되지 않습니다.이 명령은 작업 중인 애플리케이션 패키지의 배포 값이 확인된 프로젝트 정의에 설정된 값과 다른 경우 경고를 표시하지만 계속 실행합니다.
버전이 애플리케이션 패키지의 릴리스 지시문에서 참조되는 경우 이 명령은 이 버전에 패치를 생성할지 여부를 확인하는 메시지를 표시합니다.
버전이 이미 존재하고
--patch
옵션을 제공하지 않은 경우 Native Apps Framework는 이 기존 버전의 패치 번호를 자동으로 증가시킵니다. 그렇지 않으면, 사용자가 제공한 버전으로 사용자 지정 패치를 생성합니다.--label
옵션은 이 명령으로 만든 버전 또는 패치에 대한 레이블을 설정합니다. 이 값을 지정하면 애플리케이션의manifest.yml
파일에 정의된version
에 지정된 레이블이 재정의됩니다.snow app version create my_version
과 같이 명명된 버전을 지정하는 경우manifest.yml
파일의version
필드는 무시됩니다.
예¶
이 예제에서는 코드 파일에 필요한 변경을 수행하여 snowflake.yml
또는 snowflake.local.yml
파일에 추가했다고 가정합니다.
애플리케이션 패키지를 생성하고 V1 버전을 추가하려면 다음 명령을 사용합니다.
snow app version create V1 --connection="dev"
위의 명령을 사용하여 기존 애플리케이션 패키지에 V1 버전을 생성할 수도 있습니다.
자동 증가 기능을 사용하여 V1 버전에 패치를 추가하고 대화형 모드를 호출하려면 다음 명령을 사용하십시오.
snow app version create V1 --interactive --connection="dev"
대화형 셸인 경우에도 버전 V1
에 사용자 지정 패치 번호를 추가하고 대화형 모드를 우회하려면 다음 명령을 사용합니다.
snow app version create V1 --patch 42 --force --connection="dev"
스테이지에 파일을 먼저 동기화하지 않고 스테이지의 현재 내용으로 새 버전을 만들려면 다음 명령을 사용하십시오.
snow app version create V1 --from-stage --connection="dev"