snow stage execute

스테이지 경로에서 모든 파일을 즉시 실행합니다. 파일은 glob과 같은 패턴(예: @stage/*.sql, @stage/dev/*)으로 필터링될 수 있습니다. .sql 이 포함된 파일만 확장이 실행됩니다.

구문

snow stage execute
  <stage_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

인자

stage_path

실행할 파일이 있는 스테이지 경로입니다. 예를 들어, @stage/dev/* 입니다.

선택 사항

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

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

사용법 노트

  • 이 명령은 지정된 STAGE_PATH 에서 확장자가 .sql 인 파일을 검색하고 각 파일에 대해 EXECUTE IMMEDIATE 를 실행합니다. STAGE_PATH 는 다음과 같을 수 있습니다.

    • 스테이지의 모든 .sql 파일을 실행하는 스테이지 이름(예: @scripts)만 입력합니다.

    • dir 디렉터리에서 .sql 파일을 실행하는 GLOB와 같은 패턴(예: @scripts/dir/*)입니다.

    • 직접 파일 경로(예: @scripts/script.sql)는 scripts 에서 script.sql 파일만 실행합니다.

--silent 옵션은 파일 실행 결과에 대한 중간 메시지를 숨깁니다.

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

  • 스테이지의 모든 .sql 파일을 실행하려면 스테이지 이름만 지정합니다.

    snow stage execute "@scripts"
    
    Copy
    SUCCESS - scripts/script1.sql
    SUCCESS - scripts/script2.sql
    SUCCESS - scripts/dir/script.sql
    +------------------------------------------+
    | File                   | Status  | Error |
    |------------------------+---------+-------|
    | scripts/script1.sql    | SUCCESS | None  |
    | scripts/script2.sql    | SUCCESS | None  |
    | scripts/dir/script.sql | SUCCESS | None  |
    +------------------------------------------+
    
  • dir 디렉터리에 있는 모든 .sql 파일을 실행하도록 GLOB와 같은 패턴을 지정합니다.

    snow stage execute "@scripts/dir/*"
    
    Copy
    SUCCESS - scripts/dir/script.sql
    +------------------------------------------+
    | File                   | Status  | Error |
    |------------------------+---------+-------|
    | scripts/dir/script.sql | SUCCESS | None  |
    +------------------------------------------+
    
  • “script”로 시작하고 그 뒤에 한 문자가 오는 dir 디렉터리 내의 .sql 파일만 실행하도록 GLOB과 같은 패턴을 지정합니다.

    snow stage execute "@scripts/script?.sql"
    
    Copy
    SUCCESS - scripts/script1.sql
    SUCCESS - scripts/script2.sql
    +---------------------------------------+
    | File                | Status  | Error |
    |---------------------+---------+-------|
    | scripts/script1.sql | SUCCESS | None  |
    | scripts/script2.sql | SUCCESS | None  |
    +---------------------------------------+
    
  • --silent 옵션을 사용하여 직접 파일 경로를 지정합니다.

    snow stage execute "@scripts/script1.sql" --silent
    
    Copy
    +---------------------------------------+
    | File                | Status  | Error |
    |---------------------+---------+-------|
    | scripts/script1.sql | SUCCESS | None  |
    +---------------------------------------+