snow stage execute

立即执行暂存区路径中的所有文件。可使用类 glob 的模式过滤文件,例如 @stage/*.sql@stage/dev/*。只执行扩展名为 .sql 的文件。

语法

snow stage execute
  <stage_path>
  --on-error <on_error>
  --connection <connection>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --private-key-path <private_key_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]

出现错误时该怎么办?默认为中断。

--connection, -c, --environment TEXT

连接的名称,如您在 config.toml 中所定义。默认:default

--account, --accountname TEXT

分配给 Snowflake 账户的名称。替换为连接指定的值。

--user, --username TEXT

连接到 Snowflake 的用户名。替换为连接指定的值。

--password TEXT

Snowflake 密码。替换为连接指定的值。

--authenticator TEXT

Snowflake 身份验证器。替换为连接指定的值。

--private-key-path TEXT

Snowflake 私钥路径。替换为连接指定的值。

--database, --dbname TEXT

要使用的数据库。替换为连接指定的值。

--schema, --schemaname TEXT

要使用的数据库架构。替换为连接指定的值。

--role, --rolename TEXT

要使用的角色。替换为连接指定的值。

--warehouse TEXT

要使用的仓库。替换为连接指定的值。

--temporary-connection, -x

使用用命令行参数定义的连接,而不是在配置中定义的连接。

--mfa-passcode TEXT

用于多重身份验证的令牌 (MFA)。

--enable-diag

运行 Python 连接器诊断测试。

--diag-log-path TEXT

诊断报告路径。

--diag-allowlist-path TEXT

可选允许列表的诊断报告路径。

--format [TABLE|JSON]

指定输出格式。

--verbose, -v

显示日志级别 info 及更高级别的日志条目。

--debug

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

--silent

关闭到控制台的中间输出。

--help

显示此命令的帮助文本。

使用说明

  • 该命令在指定的 STAGE_PATH 中搜索扩展名为 .sql 的文件,并在每个文件上执行 EXECUTE IMMEDIATESTAGE_PATH 可以是:

    • 只是一个暂存文件名,如 @scripts,执行该暂存区中的所有 .sql 文件。

    • 类 glob 模式,如 @scripts/dir/*,执行 dir 目录中的 .sql 文件。

    • 直接文件路径,如 @scripts/script.sql,只执行来自 scriptsscript.sql 文件。

--silent 选项会隐藏文件执行结果的中间信息。

示例

  • 只指定暂存区名称,执行该暂存区中的所有 .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  |
    +------------------------------------------+
    
  • 指定一个类 glob 模式,以执行 dir 目录中的所有 .sql 文件:

    snow stage execute "@scripts/dir/*"
    
    Copy
    SUCCESS - scripts/dir/script.sql
    +------------------------------------------+
    | File                   | Status  | Error |
    |------------------------+---------+-------|
    | scripts/dir/script.sql | SUCCESS | None  |
    +------------------------------------------+
    
  • 指定类 glob 的模式,只执行 dir 目录中以“script”开头、后跟一个字符的 .sql 文件:

    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  |
    +---------------------------------------+
    
语言: 中文