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

复制操作的源路径。可以是暂存区路径或本地路径。您可以对本地文件使用 glob 模式,但该模式必须放在引号内。

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

使用用命令行参数定义的连接,而不是在配置中定义的连接。默认值: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

显示日志级别 debug 及更高级别的日志条目;调试日志包含其他信息。默认值:False。

--silent

关闭到控制台的中间输出。默认值:False。

--help

显示此命令的帮助文本。

使用说明

  • 其中一个 SOURCE_PATHDESTINATION_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 |         |
    +------------------------------------------------------------------------------------------------------------+
    
语言: 中文