类别:

Information Schema表函数

APPLICATION_CALLBACK_HISTORY

返回关于 Snowflake 账户中 Snowflake Native Apps 的 回调 调用历史的信息。每行表示一次回调调用,包括回调类型、执行模式、状态和任何错误信息。

语法

APPLICATION_CALLBACK_HISTORY(
  [ APPLICATION_NAME => '<application_name>' ]
  [ , CALLBACK_TYPE => '<callback_manifest_name>' ]
  [ , LIMIT => <number> ]
)

可选实参

APPLICATION_NAME => 'application_name'

要检索其回调历史的应用程序名称。如果未指定,则返回账户中所有应用程序的历史记录。

CALLBACK_TYPE => 'callback_manifest_name'

清单文件中定义的回调类型。如果未指定,则返回指定应用程序中所有回调类型的历史记录。

LIMIT => number

要返回的最大行数。默认值为 100。最大值为 10000。

使用说明

  • 当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema

  • 除非调用方是应用程序本身,否则 QUERY_TEXTERROR_MESSAGE 列会被脱敏。

  • 使用此函数需要满足以下条件之一:

    • 应用程序的 OWNERSHIP。

    • 应用程序的 MONITOR 权限。

    • 以应用程序自身的身份运行。

输出

该函数返回以下列:

列名称

数据类型

描述

TYPE

VARCHAR

清单文件中定义的回调类型。

EXECUTION_MODE

VARCHAR

回调的执行模式。可能的值:SYNCASYNC

APPLICATION_NAME

VARCHAR

定义回调的应用程序的名称。

STATE

VARCHAR

回调执行的状态。请参阅 回调状态

STARTED_ON

TIMESTAMP_LTZ

调用回调时的时间戳。

COMPLETED_ON

TIMESTAMP_LTZ

完成时间戳。如果回调尚未完成,则为 NULL。

TRIGGERING_QUERY_ID

VARCHAR

触发回调的 SQL 语句的查询 ID。如果回调不是由 SQL 查询触发的(例如,在升级完成后触发时),则为 NULL。

QUERY_ID

VARCHAR

回调过程执行的查询 ID。如果回调尚未完成,则为 NULL。

QUERY_TEXT

VARCHAR

过程调用 SQL 文本。如果回调尚未完成,则为 NULL。除非调用方是应用程序本身,否则此列将被编辑隐藏。

ERROR_CODE

VARCHAR

错误代码。除非 STATE 是 FAILEDABORTED,否则为 NULL。

ERROR_MESSAGE

VARCHAR

错误消息。除非 STATE 是 FAILEDABORTED,否则为 NULL。除非调用方是应用程序本身,否则此列将被编辑隐藏。

回调状态

下表描述了 STATE 列的可能值:

状态

适用于

描述

QUEUED

仅异步

回调函数正在等待被调度执行。

SCHEDULED

仅异步

回调已调度,正在等待执行。

EXECUTING

异步/同步

回调过程当前正在运行。

COMPLETED

异步/同步

回调过程成功完成。

FAILED

异步/同步

回调过程验证失败(例如,签名错误)或执行失败。

ABORTED

仅异步

发生内部计划错误。此状态需要支持干预。

示例

检索特定应用程序的回调历史记录:

SELECT *
FROM TABLE(
    INFORMATION_SCHEMA.APPLICATION_CALLBACK_HISTORY(
        APPLICATION_NAME => 'my_app'));

检索特定回调类型的回调历史记录,并设置自定义限制:

SELECT *
FROM TABLE(
    INFORMATION_SCHEMA.APPLICATION_CALLBACK_HISTORY(
        APPLICATION_NAME => 'my_app',
        CALLBACK_TYPE => 'after_configuration_change',
        LIMIT => 100));