DBT_PROJECT_EXECUTION_HISTORY¶
返回 Snowflake 上的 dbt 项目 的执行历史记录。
调用此函数可获取当前时间七天内过去 dbt 项目执行的元数据和结果。(可选)指定筛选结果所依据的值。
将此函数与以下系统函数结合使用,以编程方式访问 dbt 工件和日志:
有关更多信息,请参阅 以编程方式访问 dbt 工件和日志。
语法¶
DBT_PROJECT_EXECUTION_HISTORY (
[ OBJECT_NAME => '<name>' ]
[ , OBJECT_TYPE = { WORKSPACE | DBT PROJECT }]
[ , START_TIME_RANGE_START => <start_time> ]
[ , START_TIME_RANGE_END => <end_time> ]
[ , RESULT_LIMIT = <integer> ]
[ , COMMAND = <dbt_command> ]
[ , USER_NAME = <user_name> ]
[ , DATABASE = <db_name> ]
[ , SCHEMA = <schema_name> ]
)
实参¶
OBJECT_NAME = <name>运行所属的工作区或 dbt 项目的名称。
此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object")。放在双引号内的标识符也区分大小写。有关更多信息,请参阅 标识符要求。
OBJECT_TYPE = { WORKSPACE | DBT PROJECT }运行所属的对象、WORKSPACE 或 DBT PROJECT 的类型。
START_TIME_RANGE_START | START_TIME_RANGE_END = timestamp用于筛选 dbt 项目运行范围的时间戳。
RESULT_LIMIT = integer一个整数,指定函数返回的最大行数,范围从 1 到 10,000(含)。
默认值:100
COMMAND = dbt_command指定用于执行 dbt 项目的 dbt 命令 (https://docs.getdbt.com/reference/dbt-commands)。
USER_NAME = user_name启动了 dbt 项目对象运行的用户的名称。
DATABASE = db_name仅返回指定数据库的记录。
SCHEMA = schema_name仅返回指定架构的记录。
输出¶
该函数返回以下列。
要查看这些列,您必须使用拥有 MONITOR 权限的角色。
列名称 |
数据类型 |
描述 |
|---|---|---|
QUERY_ID |
TEXT |
查询的 ID。 |
QUERY_START_TIME |
TIMESTAMP_LTZ |
查询开始的时间。 |
QUERY_END_TIME |
TIMESTAMP_LTZ |
查询结束的时间。 |
USER_NAME |
TEXT |
创建了 dbt 项目的用户。 |
OBJECT_NAME |
TEXT |
运行所属的工作区或 dbt 项目的名称。 |
OBJECT_TYPE |
TEXT |
对象的类型,例如 WORKSPACE 或 DBT PROJECT。 |
DATABASE_NAME |
TEXT |
对象的数据库。 |
SCHEMA_NAME |
TEXT |
对象的架构。 |
COMMAND |
TEXT |
为对象运行的命令。 |
ARGS |
TEXT |
在对象的运行中使用的实参。 |
ERROR_CODE |
NUMBER |
运行的错误代码(如果适用)。 |
ERROR_MESSAGE |
TEXT |
如果适用,说明运行失败原因的错误消息。 |
WAREHOUSE |
TEXT |
用于对象的仓库。 |
STATE |
TEXT |
运行状态,例如 HANDLED_ERROR 或 SUCCESS。 |
访问控制要求¶
此表函数仅包括来自您具有以下权限的工作区和 dbt 项目的运行:
工作区上的 OWNERSHIP 或 USAGE
dbt 项目上的 OWNERSHIP、USAGE 或 MONITOR
使用说明¶
使用确切的 dbt 项目名称(如果使用引号创建,则区分大小写)。如果没有行匹配(dbt 项目名称错误或尚未运行),您可能会得到
Inputs may not be null.错误。
示例¶
有关使用 DBT_PROJECT_EXECUTION_HISTORY 表函数的示例,请参阅 以编程方式访问 dbt 工件和日志。