snow stage copy

대상 경로의 모든 파일을 대상 디렉터리로 복사합니다. 이 명령은 스테이지에서 파일을 업로드하고 다운로드할 때 모두 작동합니다.

구문

snow stage copy
  <source_path>
  <destination_path>
  --overwrite / --no-overwrite
  --parallel <parallel>
  --recursive / --no-recursive
  --auto-compress / --no-auto-compress
  --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

인자

source_path

복사 작업을 위한 소스 경로. 스테이지 경로 또는 로컬 경로일 수 있습니다. 로컬 파일에는 글로브 패턴을 사용할 수 있지만, 패턴을 따옴표로 묶어야 합니다.

destination_path

복사 작업을 위한 대상 디렉터리 경로. 소스가 로컬인 경우 스테이지, 소스가 스테이지인 경우 로컬이어야 합니다.

선택 사항

--overwrite / --no-overwrite

대상 경로에 있는 기존 파일을 덮어씁니다. 기본값: False.

--parallel INTEGER

파일을 업로드할 때 사용할 병렬 스레드 수. 기본값: 4.

--recursive / --no-recursive

디렉터리 구조를 사용하여 파일을 재귀적으로 복사합니다. 기본값: False.

--auto-compress / --no-auto-compress

Snowflake가 업로드 중에 gzip을 사용해 파일을 압축할지 여부를 지정합니다. 다운로드할 때 무시됩니다. 기본값: 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 인증자입니다. 연결에 지정된 값을 재정의합니다.

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

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

사용법 노트

  • SOURCE_PATH 또는 DESTINATION_PATH 중 하나는 로컬 디렉터리여야 하고, 다른 하나는 Snowflake 스테이지의 디렉터리여야 합니다. 스테이지 경로는 “@”로 시작해야 합니다. 예:

    • snow stage copy @my_stage dir/ - my_stage 스테이지의 파일을 로컬 dir 디렉터리로 복사합니다.

    • snow stage copy dir/ @my_stage - 로컬 dir 디렉터리에서 my_stage 로 파일을 복사합니다.

  • source_path 인자에 GLOB 패턴을 사용하여 정규식과 일치하는 여러 파일을 지정할 수 있습니다. glob 패턴은 작은따옴표나 큰따옴표로 묶어야 합니다.

  • 파일을 로컬 머신에서 스테이지로 복사하려면 다음과 유사한 명령을 사용합니다.

    snow stage copy local_example_app @example_app_stage/app
    
    Copy
    put file:///.../local_example_app/* @example_app_stage/app4 auto_compress=false parallel=4 overwrite=False
    +--------------------------------------------------------------------------------------
    | source           | target           | source_size | target_size | source_compression...
    |------------------+------------------+-------------+-------------+--------------------
    | environment.yml  | environment.yml  | 62          | 0           | NONE             ...
    | snowflake.yml    | snowflake.yml    | 252         | 0           | NONE             ...
    | streamlit_app.py | streamlit_app.py | 109         | 0           | NONE             ...
    +--------------------------------------------------------------------------------------
    
  • 스테이지에서 로컬 디렉터리로 파일을 다운로드하려면 다음과 유사한 명령을 사용합니다.

    mkdir local_app_backup
    snow stage copy @example_app_stage/app local_app_backup
    
    Copy
    get @example_app_stage/app file:///.../local_app_backup/ parallel=4
    +------------------------------------------------+
    | file             | size | status     | message |
    |------------------+------+------------+---------|
    | environment.yml  | 62   | DOWNLOADED |         |
    | snowflake.yml    | 252  | DOWNLOADED |         |
    | streamlit_app.py | 109  | DOWNLOADED |         |
    +------------------------------------------------+
    
  • 다음 예는 디렉터리에 있는 모든 .txt 파일을 스테이지로 복사하는 예제입니다.

    snow stage copy "testdir/*.txt" @TEST_STAGE_3
    
    Copy
    put file:///.../testdir/*.txt @TEST_STAGE_3 auto_compress=false parallel=4 overwrite=False
    +------------------------------------------------------------------------------------------------------------+
    | source | target | source_size | target_size | source_compression | target_compression | status   | message |
    |--------+--------+-------------+-------------+--------------------+--------------------+----------+---------|
    | b1.txt | b1.txt | 3           | 16          | NONE               | NONE               | UPLOADED |         |
    | b2.txt | b2.txt | 3           | 16          | NONE               | NONE               | UPLOADED |         |
    +------------------------------------------------------------------------------------------------------------+