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
인자¶
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"