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
使用用命令行参数定义的连接,而不是在配置中定义的连接。默认值: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
显示此命令的帮助文本。
使用说明¶
备注
Snowflake CLI 不支持执行 Python 3.12 及以上版本的 Python 文件。
您可以使用类 glob 模式来筛选文件,如 @my_repo/branches/main/*.sql
和 @my_repo/branches/main/dev/*
。该命令只执行扩展名为 .sql
的文件。
当使用 SQL 文件的 Jinja 模板时,您可以使用 -D
或 (--variable)
选项,例如 -D "<key>=<value>"
。您必须用单引号括起字符串值 (''
)。
示例¶
下面的示例显示了如何在 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 |
+---------------------------------------------------------------+