snow dcm deploy

정의 파일과 일치하도록 오브젝트를 생성, 변경 또는 삭제하여 로컬 프로젝트 변경 사항을 Snowflake에 배포합니다.

구문

snow dcm deploy
  <identifier>
  --from <from_location>
  --variable <variables>
  --alias <alias>
  --target <target>
  --save-output
  --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>

인자

identifier

DCM 프로젝트의 식별자입니다. 예: MY_DB.MY_SCHEMA.MY_PROJECT. 정규화된 이름(권장) 또는 간단한 이름을 지원합니다. 정규화되지 않은 경우, 기본값은 연결의 데이터베이스 및 스키마입니다. 매니페스트에 --target 또는 `default_target`이 정의된 경우 선택 사항입니다.

선택 사항

--from PATH

DCM 프로젝트 파일이 포함된 로컬 디렉터리 경로입니다. 현재 디렉터리를 사용하려면 생략합니다.

--variable, -D TEXT

실행 컨텍스트에 대한 변수로, 예를 들어 -D "<key>=<value>" 입니다. 파일의 경우 변수는 템플릿을 확장하는 데 사용되며 알 수 없는 변수가 있으면 오류가 발생합니다(파일에 따옴표를 포함시키는 것이 권장됨).

--alias TEXT

배포의 별칭입니다.

--target TEXT

`manifest.yml`에서 사용할 대상 프로필입니다. 지정되지 않은 경우 `default_target`을 사용합니다.

--save-output

명령 응답과 아티팩트를 로컬 ‘out/’ 디렉터리에 저장합니다. 기본값: False.

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

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| JSON_EXT|CSV]

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

--verbose, -v

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

--debug

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

--silent

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

--enhanced-exit-codes

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

--decimal-precision INTEGER

소수 값에 대해 표시할 소수 자릿수입니다. 지정되지 않은 경우 Python의 기본 전체 자릿수를 사용합니다. [환경 변수: SNOWFLAKE_DECIMAL_PRECISION].

--help

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

사용법 노트

snow dcm deploy 명령은 정의 파일과 일치하도록 오브젝트를 생성, 변경 또는 삭제하여 로컬 프로젝트 변경 사항을 Snowflake에 배포합니다.

DCM project 를 배포할 때 다음 작업이 수행됩니다.

  • 정의되었지만 아직 존재하지 않는 오브젝트가 생성됩니다.

  • 이미 존재하지만 현재 정의와 다른 오브젝트가 변경됩니다.

  • 이미 존재하고 상태 및 정의 간에 차이가 없는 오브젝트가 변경되지 않은 상태로 유지됩니다.

  • 이미 존재하지만 더 이상 정의되지 않은 오브젝트가 삭제됩니다.

  • 이전에 존재했던 오브젝트 중 최근에 정의가 DCM project 에 추가된 오브젝트가 이 DCM project 에서 관리하는 오브젝트에 추가됩니다.

참고

이 명령은 파일의 내용이 작업의 최종 결과에 영향을 미치도록 로컬 소스 SQL 파일을 Snowflake의 임시 스테이지에 자동으로 업로드합니다.

--save-output 옵션을 사용하여 배포 결과를 로컬 out/deploy.json 파일에 저장합니다.

배포 프로세스에 대한 자세한 내용은 DCM project 배포 섹션을 참조하세요.

  • 프로젝트 이름이 매니페스트의 default_target 속성으로 식별된 대상에 지정된 기본 옵션이 있는 DCM project 오브젝트를 배포합니다.

    snow dcm deploy
    
  • 프로젝트 이름이 매니페스트의 DEV 대상에 지정된 DCM project 오브젝트를 배포합니다.

    snow dcm deploy --target DEV
    
  • 명시적으로 정규화된 이름의 DCM project 오브젝트를 배포합니다.

    snow dcm deploy MY_DB.MY_SCHEMA.MY_PROJECT
    
  • 프로젝트 이름이 매니페스트의 DEV 대상으로 지정되고, db_name 변수 값을 지정하고, 배포 별칭을 :codenowrap:`v3`으로 설정하는 DCM project 프로젝트를 배포합니다.

    snow dcm deploy --target DEV --variable db_name=jdoe --alias v3
    
  • 특정 디렉터리에서 DCM project 오브젝트를 배포하고 출력을 저장합니다.

    snow dcm deploy --from /path/to/project --save-output