snow snowpark deploy

프로젝트에 정의된 프로시저와 함수를 배포합니다. 프로젝트를 배포하면 프로젝트에 정의된 모든 오브젝트가 변경됩니다. 기본적으로 오브젝트가 이미 존재하는 경우 --replace 플래그가 제공되지 않으면 명령이 실패합니다. 필수 아티팩트는 함수나 프로시저를 만들기 전에 배포됩니다. 종속성은 정의에 지정된 각 스테이지에 한 번씩 배포됩니다.

구문

snow snowpark deploy
  --replace
  --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

인자

없음

선택 사항

--replace

메타데이터에 변경 사항이 감지되지 않더라도 프로시저나 함수를 바꿉니다. 기본값: False.

-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 snowpark deploy 명령은 다음을 수행합니다.

  • 배포를 위해 나열된 오브젝트가 이미 있는지 확인합니다. 오브젝트가 있는 경우 --replace 옵션을 사용해야 합니다.

  • 연결에 지정된 데이터베이스에 스테이지를 생성합니다. 스테이지가 정의되지 않은 경우 이 명령은 이름이 deployments 인 스테이지를 생성합니다.

  • app.zip 파일을 스테이지에 업로드합니다.

  • SQL CREATE PROCEDURE 또는 CREATE FUNCTION 쿼리를 실행하여 지정한 오브젝트를 snowflake.yml 파일로 생성합니다.

이 명령은 최신 빌드의 소스 코드와 종속성을 배포합니다. 마지막 빌드 이후 코드를 수정하거나 요구 사항을 추가한 경우 새 버전을 배포하기 전에 snow snowpark build 명령을 다시 실행해야 합니다.

다음 예에서는 현재 디렉터리에 함수와 프로시저를 배포하는 방법을 보여줍니다.

snow snowpark deploy
Copy
+-----------------------------------------------------------------------------------+
| object                                             | type      | status           |
|----------------------------------------------------+-----------+------------------|
| MY_DATABASE.PUBLIC.HELLO_PROCEDURE(name string)    | procedure | packages updated |
| MY_DATABASE.PUBLIC.TEST_PROCEDURE()                | procedure | created          |
| MY_DATABASE.PUBLIC.HELLO_FUNCTION(name string)     | function  | packages updated |
+-----------------------------------------------------------------------------------+

다음 예제는 오브젝트가 이미 있지만, --replace 옵션을 지정하지 않고 배포할 때 어떤 일이 발생하는지 보여줍니다.

snow snowpark deploy
Copy
╭─ Error ──────────────────────────────────────────────────────────╮
│ Following objects already exists. Consider using --replace.      |
│ function: MY_DATABASE.PUBLIC.HELLO_FUNCTION(string)              |
│ procedure: MY_DATABASE.PUBLIC.HELLO_PROCEDURE(string)            |
│ procedure: MY_DATABASE.PUBLIC.TEST_PROCEDURE()                   |
╰──────────────────────────────────────────────────────────────────╯