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>
--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
인자¶
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
키=값 형식의 문자열입니다. 템플릿에 사용되는 환경 섹션의 변수를 재정의합니다. 기본값: [].
--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
이 명령에 대한 도움말 텍스트를 표시합니다.
사용법 노트¶
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"