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