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>
  --workload-identity-provider <workload_identity_provider>
  --private-key-file <private_key_file>
  --token <token>
  --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
  --decimal-precision <decimal_precision>

인자

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 인증자입니다. 연결에 지정된 값을 재정의합니다.

--workload-identity-provider TEXT

워크로드 ID 공급자(AWS, AZURE, GCP, OIDC). 연결에 지정된 값을 재정의합니다.

--private-key-file, --private-key-path TEXT

Snowflake 개인 키 파일 경로입니다. 연결에 지정된 값을 재정의합니다.

--token TEXT

Snowflake에 연결할 때 사용할 OAuth 토큰입니다.

--token-file-path TEXT

Snowflake에 연결할 때 사용할 OAuth 토큰이 포함된 파일 경로입니다.

--database, --dbname TEXT

사용할 데이터베이스입니다. 연결에 지정된 값을 재정의합니다.

--schema, --schemaname TEXT

사용할 데이터베이스 스키마입니다. 연결에 지정된 값을 재정의합니다.

--role, --rolename TEXT

사용할 역할입니다. 연결에 지정된 값을 재정의합니다.

--warehouse TEXT

사용할 웨어하우스입니다. 연결에 지정된 값을 재정의합니다.

--temporary-connection, -x

Uses a connection defined with command-line parameters, instead of one defined in config. Default: 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| JSON_EXT|CSV]

출력 형식을 지정합니다. 기본값: TABLE.

--verbose, -v

로그 수준 정보 이상에 대한 로그 항목을 표시합니다. 기본값: False.

--debug

로그 수준 디버그 이상에 대한 로그 항목을 표시하며, 디버그 로그에는 추가 정보가 포함됩니다. 기본값: False.

--silent

콘솔로의 중간 출력을 끕니다. 기본값: False.

--enhanced-exit-codes

실패 유형에 따라 종료 오류 코드를 차별화하십시오. 기본값: False.

--decimal-precision INTEGER

Number of decimal places to display for decimal values. Uses Python’s default precision if not specified. [env var: SNOWFLAKE_DECIMAL_PRECISION].

--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"