使用 Snowflake CLI 管理 DCM 项目¶
您可以使用 Snowflake CLI 管理 DCM project。有关 DCM 项目的更多信息,请参阅 Snowflake DCM Projects。
使用 DCM project 功能安装 Snowflake CLI¶
要使用 snow dcm 命令,您必须安装 Snowflake CLI 版本 3.16.0 或更高版本。有关更多信息,请参阅 安装 Snowflake CLI。
验证您已成功连接到 Snowflake¶
Snowflake CLI 需要有效的连接才能与 Snowflake 进行交互。有关管理连接的信息,请参阅 配置 Snowflake CLI。
在 Snowflake CLI 中启用 DCM 命令¶
要使用 DCM 命令,必须先启用 SNOWFLAKE_CLI_FEATURES_ENABLE_SNOWFLAKE_PROJECTS 功能标志,可通过以下任一方式进行设置:
在运行命令之前,将
SNOWFLAKE_CLI_FEATURES_ENABLE_SNOWFLAKE_PROJECTS环境变量设置为true。在
config.toml文件中,将enable_snowflake_projects配置选项设置为true,如下例所示:
通过模板初始化 DCM project¶
要通过模板初始化 DCM project,请使用
snow init命令:其中
<project_dir_name>是带有 DCM project 文件的目录。此目录由snow init命令创建,并使用从指定模板生成的项目文件进行填充。例如,以下命令在
MY_PROJECT目录中创建项目文件:
Snowflake CLI 命令¶
Snowflake CLI 添加了以下命令,以支持 DCM Projects:
创建和部署 DCM projects¶
本部分介绍如何使用 Snowflake CLI 创建、验证和部署 DCM projects。
创建 DCM project¶
使用 snow dcm create 命令,在 Snowflake 中创建一个新的 DCM project。项目标识符可以直接指定为实参,也可以从 manifest.yml 文件中解析出来。
使用清单中指定的默认目标中的标识符创建项目:
使用清单中指定的
dev目标的标识符创建项目:仅当项目尚不存在时才创建项目:
有关更多信息,请参阅 snow dcm create。
计划 DCM project¶
使用 snow dcm plan 命令,在部署之前验证项目。此命令显示在不实际进行任何修改的情况下将应用哪些更改。
验证项目:
使用变量替换进行验证:
使用特定目标配置文件进行验证并保存输出:
使用
--save-output时,该命令将响应和工件保存到本地out/目录。
有关更多信息,请参阅 snow dcm plan。
部署 DCM project¶
使用 snow dcm deploy 命令,将 DCM project 中定义的更改应用到 Snowflake。
部署项目:
使用变量替换进行部署:
使用部署别名进行部署:
使用目标配置文件从特定目录进行部署:
有关更多信息,请参阅 snow dcm deploy。
预览 DCM project¶
使用 snow dcm preview 命令从项目中定义的任何表、视图或动态表返回行。此命令对于在部署之前或之后测试定义非常有用。
预览表中的数据:
带行数限制的预览:
带变量替换的预览:
有关更多信息,请参阅 snow dcm 预览版。
测试 DCM project¶
使用 snow dcm test 命令,运行项目中定义的所有期望(数据指标函数)。此命令验证数据质量规则并返回通过/失败结果。
测试项目:
使用目标配置文件进行测试:
测试并保存结果:
如果所有测试都通过,则该命令返回退出代码 0;如果任何测试失败,则返回退出代码 1。
有关更多信息,请参阅 snow dcm test。
刷新 DCM project¶
使用 snow dcm refresh 命令,刷新 DCM project 中定义的所有动态表。这会触发数据的立即刷新。
刷新项目中的动态表:
使用目标配置文件刷新:
刷新并保存输出:
该命令报告每个动态表的状态,包括插入和删除的行数。
有关更多信息,请参阅 snow dcm refresh。
删除 DCM project¶
使用 snow dcm drop 命令删除 DCM project。此命令将删除项目及其所有版本。不会删除与项目关联的暂存区。
删除项目:
仅删除存在的项目:
有关更多信息,请参阅 snow dcm drop。
管理已部署的 DCM projects¶
部署 DCM project 后,您可以列出和管理单个部署。
列出已部署的 DCM projects¶
使用 snow dcm list-deployments 命令,列出给定 DCM project 的所有部署。
列出项目的部署:
使用目标配置文件列出部署:
输出显示每个部署的部署名称和别名(如果设置)。
有关更多信息,请参阅 snow dcm list-deployments。
删除已部署的 DCM projects¶
使用 snow dcm drop-deployment 命令,从 DCM project 删除特定的部署。
按名称删除部署:
备注
对于包含
$的部署名称,使用单引号来防止 shell 扩展。按别名删除部署:
仅删除存在的部署:
有关更多信息,请参阅 snow dcm drop-deployment。