SHOW TASKS

列出您具有访问权限的任务。该命令可用于列出当前/指定数据库或架构的任务,或整个账户任务。

输出返回任务元数据和属性,按数据库、架构和任务名称按字典顺序排序(有关输出列的说明,请参阅本主题中的“输出”)。如果您希望使用提供的筛选器筛选结果,请务必注意这一点。

另请参阅:

CREATE TASKALTER TASKDROP TASKDESCRIBE TASK

语法

SHOW [ TERSE ] TASKS [ LIKE '<pattern>' ]
                     [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> } ]
                     [ STARTS WITH '<name_string>' ]
                     [ ROOT ONLY ]
                     [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

参数

TERSE

仅返回输出列的子集:

  • created_on

  • name

  • 种类(为所有任务记录显示 NULL)

  • database_name

  • schema_name

  • 计划

LIKE 'pattern'

(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(%_)。

例如,以下模式返回 相同的 结果:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 默认:无值(不对输出应用筛选)。

IN ACCOUNT | DATABASE [ db_name ] | SCHEMA [ schema_name ] | APPLICATION application_name | APPLICATION PACKAGE application_package_name

(可选)指定命令范围,该范围决定该命令是仅列出当前/指定数据库或架构的记录,还是列出整个账户的记录。

APPLICATIONAPPLICATION PACKAGE 关键字不是必需的,但它们指定了已命名 Snowflake Native App 的范围。

如果您指定关键字 ACCOUNT,则该命令将检索当前账户的所有数据库中所有架构的记录。

如果您指定关键字 DATABASE,那么:

  • 如果指定 db_name,则该命令将检索指定数据库的所有架构的记录。

  • If you don't specify a db_name, then:

    • 如果存在当前数据库,则该命令将检索当前数据库中所有架构的记录。

    • 如果当前没有数据库,则该命令将检索账户中所有数据库和架构的记录。

如果您指定关键字 SCHEMA,那么:

  • If you specify a qualified schema name (for example, my_database.my_schema), then the command retrieves records for the specified database and schema.

  • 如果您指定了未限定的 schema_name,那么:

    • 如果存在当前数据库,则该命令将检索当前数据库中指定架构的记录。

    • 如果当前没有数据库,则该命令会显示错误 SQL compilation error: Object does not exist, or operation cannot be performed

  • If you don't specify a schema_name, then:

    • 如果当前有数据库,那么:

      • 如果当前存在架构,则该命令将检索当前数据库中当前架构的记录。

      • 如果不存在当前架构,则该命令将检索当前数据库中所有架构的记录。

    • 如果当前没有数据库,则该命令将检索账户中所有数据库和所有架构的记录。

默认:取决于会话当前是否正在使用数据库:

  • 数据库:DATABASE 是默认值,即该命令返回您在该数据库中有权限查看的对象。

  • 无数据库:ACCOUNT 是默认值,即该命令返回您有权在账户中查看的对象。

STARTS WITH 'name_string'

(可选)根据对象名称开头显示的字符筛选命令输出。该字符串必须放在单引号内并且 区分大小写

例如,以下字符串会返回 不同的 结果:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. 默认:无值(不对输出应用筛选)

ROOT ONLY

筛选命令输出,仅返回根任务(没有前置任务的任务)。

LIMIT rows [ FROM 'name_string' ]

(可选)限制返回的最大行数,同时还对结果启用“分页”功能。返回的实际行数可能小于指定的限制。例如,现有对象的数量小于指定的限制。

可选的 FROM 'name_string' 分子句实际上会充当结果的“游标”。这样就可以提取对象名称与指定字符串匹配的第一行之后的指定行数:

  • 该字符串必须放在单引号内并且 区分大小写

  • 该字符串不必包含完整的对象名称;支持部分名称。

默认:无值(不对输出应用限制)

备注

对于支持 FROM 'name_string'STARTS WITH 'name_string' 的 SHOW 子句,您可以将这两个子句组合在同一语句中。但是,两个条件都必须满足,否则它们相互抵消,不返回任何结果。

此外,对象按名称的字典顺序返回,因此 FROM 'name_string' 仅返回字典值高于 STARTS WITH 'name_string' 所返回行的行。

例如:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' 不会返回任何结果。

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' 不会返回任何结果。

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' 将返回结果(如果有任何行与输入字符串匹配)。

输出

命令输出在以下列中提供任务属性和元数据:

列名称

描述

created_on

创建任务的日期和时间。

name

任务的名称。

id

每个任务的唯一标识符。请注意,重新创建任务(使用 CREATE OR REPLACE TASK)实质上会创建一个新任务,该任务具有新的 ID。

database_name

存储表的数据库。

schema_name

存储表的架构。

owner

拥有任务的角色,即对任务具有 OWNERSHIP 权限

comment

为任务添加注释。

warehouse

提供任务运行所需资源的仓库。

计划

任务运行计划。如果未指定计划或任务是触发任务,则显示 NULL。

scheduling_mode

Displays whether a serverless task is FIXED or FLEXIBLE.

  • For FIXED, the task execution is based on the user-specified schedule for the task.

  • For FLEXIBLE, the task execution is based on the user-specified schedule and target completion interval for the task.

target_completion_interval

Target completion interval for a serverless task. Used to determine compute resource size for execution.

predecessors

在 AFTER 参数中为任务(即前置任务)标识的任意任务的 JSON 数组。当这些任务成功执行完成时,会触发当前任务。数组中的各个任务名称都是完全限定的,也就是说,它们包含了容器数据库和架构名称。如果任务没有前置任务,. . 将显示为空数组。

state

“已启动”或“已暂停”,具体取决于任务的当前状态。

definition

任务运行时执行的 SQL 语句。

condition

在任务的 WHEN 子句中指定的条件。

allow_overlapping_execution

对于 任务图 中的根任务,如果明确允许重叠执行任务图,则显示 TRUE。对于任务图中的子任务,则显示 NULL。

error_integration

用于访问 Amazon Simple Notification Service (SNS)、Google Pub/Sub 或 Microsoft Azure 事件网格以中继任务错误通知的通知集成名称。

success_integration

Name of the notification integration that is used to access Amazon Simple Notification Service (SNS), Google Pub/Sub, or Microsoft Azure Event Grid to relay success notifications for the task.

last_committed_on

任务最后设置 :ref:` 版本 <label-versioning_of_task_runs>` 的时间戳。如果没有设置版本,即如果任务在创建后未恢复或手动运行,则值为 NULL。

last_suspended_on

任务最后一次被挂起的时间戳。显示根任务和子任务的时间戳。如果任务尚未被挂起,则值为 NULL。

owner_role_type

拥有对象的角色类型,例如 ROLE. 如果 Snowflake Native App 拥有该对象,则该值为 APPLICATION. 如果您删除该对象,则 Snowflake 会返回 NULL,原因是删除的对象不具有所有者角色。

config

对于任务图中的根任务,如果存在,则显示配置;否则,显示 NULL。对于任务图中的子任务,则显示 NULL。

last_suspended_reason

显示任务暂停的原因。可能的原因包括以下几点:

  • USER_SUSPENDED:用户通过运行 alter task <name> suspend 命令暂停任务。

  • SCHEMA_OR_DATABASE_DELETED:任务的架构或数据库已删除。

  • GRANT_OWNERSHIP:用户通过运行 grant ownership 命令将任务的所有权转移给了其他角色。

  • SUSPENDED_DUE_TO_ERRORS:任务连续失败一定次数后被暂停。您可以设置 SUSPEND_TASK_AFTER_NUM_FAILURES 参数,以确定暂停该任务所需的失败次数。

  • CHILD_BECAME_ROOT:该任务之前是任务图中的子任务,但该子任务的所有前置任务都被移除,子任务变成了根任务。

  • FINALIZER_BECAME_ROOT:该任务之前是任务图中的终结任务,但该任务已被移除,该任务变成了根任务。

  • MATCHING_OWNER_NOT_FOUND:在 :ref:` 任务复制 <label-replication_and_tasks>` 期间,在辅助数据库中找不到拥有该任务的角色。

如果任务从未暂停,或任务上次暂停是在 2023_08 捆绑包(正式启用) 引入列之前,则显示 NULL。

task_relations

predecessors 列的替代方案。显示任务的 AFTER 参数中识别出的任何任务的 JSON 数组;也就是前置任务。当所有前置任务成功完成后,这些前置任务会触发当前任务。数组中的各个任务名称都是完全限定的,也就是说,它们包含了容器数据库和架构名称。如果任务没有前置任务,. . 将显示为空数组。

execute_as_user

如果以系统用户(默认)执行,则显示为 NULL。显示使用被模拟权限 (EXECUTE AS USER) 运行任务的用户的用户名。要了解更多信息,请参阅 使用用户权限运行任务

有关可以为任务指定的属性的详细信息,请参阅 CREATE TASK

使用说明

  • 仅返回任务所有者(即对任务具有 OWNERSHIP 权限的角色):emph:或者 对任务具有 MONITOR 或 OPERATE 权限的角色的行。

  • 该命令不需要正在运行的仓库即可执行。

  • 该命令仅返回当前用户的当前角色已获授至少一项访问权限的对象。

  • MANAGE GRANTS 访问权限隐式允许其持有者查看账户中的每个对象。默认情况下,只有账户管理员(具有 ACCOUNTADMIN 角色的用户)和安全管理员(具有 SECURITYADMIN 角色的用户)才具有 MANAGE GRANTS 权限。

  • To post-process the output of this command, you can use the pipe operator (->>) or the RESULT_SCAN function. Both constructs treat the output as a result set that you can query.

    The output column names for this command are generated in lowercase. If you consume a result set from this command with the pipe operator or the RESULT_SCAN function, use double-quoted identifiers for the column names in the query to ensure that they match the column names in the output that was scanned. For example, if the name of an output column is type, then specify "type" for the identifier.

  • LIMIT rows 的值不能超过 10000。如果省略 LIMIT rows,若结果集大于 1 万行,则该命令将导致错误。

    要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中包含 LIMIT rows 或查询相应的视图。

示例

显示名称以 line 开头且您有权在 tpch.public 架构中查看的所有任务:

SHOW TASKS LIKE 'line%' IN tpch.public;
Copy

显示您有权在 tpch.public 架构中查看的所有任务:

SHOW TASKS IN tpch.public;
Copy
语言: 中文