snow git execute

리포지토리 경로의 모든 파일을 즉시 실행합니다. 파일은 glob과 같은 패턴(예: @my_repo/branches/main/*.sql, @my_repo/branches/main/dev/*)으로 필터링될 수 있습니다. 확장자가 .sql 또는 .py 인 파일만 실행됩니다.

구문

snow git execute
  <repository_path>
  --on-error <on_error>
  --variable <variables>
  --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

인자

repository_path

범위가 지정된 git 리포지토리 스테이지로의 경로입니다. 리포지토리 루트 경로는 ‘/’로 끝나야 합니다. 예: @my_repo/branches/main/.

선택 사항

--on-error [break|continue]

오류 발생 시 대처 방법 기본적으로 중단해야 합니다. 기본값: break.

--variable, -D TEXT

실행 컨텍스트에 대한 변수로, 예를 들어 -D "<key>=<value>" 입니다. SQL 파일의 경우 변수는 템플릿을 확장하는 데 사용되며 알 수 없는 변수가 있으면 오류가 발생합니다(파일에 따옴표를 포함시키는 것이 권장됨). Python 파일의 경우 변수는 os.environ 사전을 업데이트하는 데 사용됩니다. 제공된 키는 모범 사례를 준수하기 위해 대문자로 표시됩니다. SQL 파일의 경우 문자열 값은 `’’`로 따옴표로 묶어야 합니다(파일에 따옴표를 포함시키는 것이 권장됨).

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

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

사용법 노트

GLOB와 같은 패턴을 사용하여 @my_repo/branches/main/*.sql, @my_repo/branches/main/dev/* 같은 파일을 필터링할 수 있습니다. 이 명령은 확장자가 .sql 인 파일만 실행합니다.

SQL 파일에 Jinja 템플릿을 사용하는 경우, -D "<키>=<값>" 과 같은 템플릿 변수를 -D (또는 --variable)) 옵션을 사용하여 전달할 수 있습니다. 문자열 값은 작은따옴표('')로 묶어야 합니다.

다음 예제는 project 디렉터리 내의 모든 파일에서 정규식과 일치하는 SQL 명령을 실행하는 방법을 보여줍니다.

snow git execute "@git_test/branches/main/projects/script?.sql"
Copy
SUCCESS - git_test/branches/main/projects/script1.sql
SUCCESS - git_test/branches/main/projects/script2.sql
SUCCESS - git_test/branches/main/projects/script3.sql
+---------------------------------------------------------------+
| File                                        | Status  | Error |
|---------------------------------------------+---------+-------|
| git_test/branches/main/projects/script1.sql | SUCCESS | None  |
| git_test/branches/main/projects/script2.sql | SUCCESS | None  |
| git_test/branches/main/projects/script3.sql | SUCCESS | None  |
+---------------------------------------------------------------+