snow app deploy

Snowflake 계정에서 애플리케이션 패키지를 만들고 애플리케이션을 생성하거나 업데이트하지 않고 로컬 변경 사항을 스테이지에 동기화합니다. snow app deploy 와 같이 인자 없이 이 명령을 실행하는 것은 snow app deploy --prune --recursive 의 약어입니다.

구문

snow app deploy
  <paths>
  --prune / --no-prune
  --recursive / --no-recursive
  --interactive / --no-interactive
  --force
  --validate / --no-validate
  --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>
  --format <format>
  --verbose
  --debug
  --silent
Copy

인자

paths...

스테이지에 업로드할 파일 또는 디렉터리의 프로젝트 루트를 기준으로 한 경로입니다. 파일이 지정된 경우, 해당 파일은 snowflake.yml의 아티팩트 src 패턴 항목 중 하나와 일치해야 합니다. 디렉터리가 지정된 경우 아티팩트 src 패턴 항목을 기반으로 배포할 하위 폴더나 파일이 검색됩니다. 지정되지 않은 경우, 이 명령은 모든 로컬 변경 사항을 스테이지에 동기화합니다.

선택 사항

--prune / --no-prune

로컬에 지정된 파일이 없을 경우 스테이지에서 삭제할지 여부입니다. 설정된 경우, 이 명령은 스테이지에는 있지만 로컬 파일 시스템에는 없는 파일을 삭제합니다. 경로가 지정된 경우에는 이 옵션을 사용할 수 없습니다.

--recursive, -r / --no-recursive

하위 디렉터리에서 파일을 탐색하고 배포할지 여부입니다. 설정된 경우, 명령은 모든 파일과 하위 디렉터리를 배포합니다. 그렇지 않으면 현재 디렉터리에 있는 파일만 배포합니다.

--interactive / --no-interactive

이 옵션을 활성화하면 표준 입력 및 출력이 터미널 디바이스가 아닌 경우에도 프롬프트가 표시됩니다. 대화형 셸 환경에서는 기본값이 True이고, 그렇지 않으면 False입니다.

--force

이 옵션을 활성화하면 명령은 발생하는 모든 프롬프트를 암시적으로 승인합니다. 대화형 모드가 지정되지 않았고 치명적일 수 있는 작업을 수행하려는 경우 이 옵션을 활성화해야 합니다. 기본값은 설정 해제입니다. 기본값: False.

--validate / --no-validate

이 옵션을 활성화하면 배포된 Snowflake Native App의 설정 스크립트 SQL에 대한 유효성 검사를 트리거합니다. 기본값: True.

--package-entity-id TEXT

definition_version이 2 이상일 때 작동할 패키지 엔터티의 ID입니다.

--app-entity-id TEXT

definition_version이 2 이상일 때 작동할 애플리케이션 엔터티의 ID입니다.

-p, --project TEXT

Snowflake 프로젝트가 있는 경로입니다. 기본값은 현재 작업 디렉터리입니다.

--env TEXT

키=값 형식의 문자열. 템플릿에 사용되는 env 섹션의 변수를 재정의합니다. 기본값: [].

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

Python 커넥터 진단 테스트를 실행합니다. 기본값: False.

--diag-log-path TEXT

진단 보고서 경로입니다. 기본값: <temporary_directory>.

--diag-allowlist-path TEXT

선택적 허용 목록에 대한 진단 보고서 경로입니다.

--format [TABLE|JSON]

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

--verbose, -v

로그 수준 info 이상의 로그 항목을 표시합니다. 기본값: False.

--debug

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

--silent

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

--help

이 명령에 대한 도움말 텍스트를 표시합니다.

사용법 노트

snow app deploy 명령은 Snowflake 계정에 애플리케이션 패키지를 생성하고, 해당 스테이지에 코드 파일을 업로드하고, 설정 스크립트 SQL의 유효성을 검사하고, snowflake.yml 에 정의된 배포 후 훅을 실행합니다. snow app run 명령과 달리, 이 명령은 애플리케이션 오브젝트를 설치하거나 업그레이드하지 않습니다.

스테이징된 파일을 사용하여 애플리케이션 패키지를 생성하려면 다음을 실행하면 됩니다.

cd my_app_project
my_app_project_build_script.sh
snow app deploy --connection="dev"
Copy