NOTIFICATION_HISTORY¶
此表函数可用于查询通过 Snowflake 发送的通知的历史记录。这些通知包括:
返回的行代表:
- 正在处理的请求。 
- 发送通知的失败尝试次数。 
- 已成功发送的通知。 
STATUS 列 表示每一行所代表的含义。请参阅 函数的输出示例。
语法¶
NOTIFICATION_HISTORY(
  [ START_TIME => <constant_expr> ]
  [, END_TIME => <constant_expr> ]
  [, INTEGRATION_NAME => '<string>' ]
  [, RESULT_LIMIT => <integer> ] )
实参¶
所有实参均为可选。
- START_TIME=> constant_expr、.- END_TIME=> constant_expr
- 发出通知的时间范围(格式为 TIMESTAMP_LTZ)。 - 如果未指定 START_TIME,则范围从 END_TIME 之前的 24 小时开始。 
- 如果未指定 END_TIME,则默认值为 CURRENT_TIMESTAMP。 
 - 最大时间范围是 14 天。 
- INTEGRATION_NAME => 'string'
- 与通知绑定的集成的完全限定名称。如果省略此实参,该函数将返回所有通知。 - 默认值:空字符串。 
- RESULT_LIMIT => integer
- 用于指定函数返回的行数上限的数字。 - 范围: - 1至- 10000- 默认: - 100
输出¶
该函数返回以下列:
| 列名称 | 数据类型 | 描述 | 
|---|---|---|
| CREATED | TIMESTAMP_LTZ | 创建通知的时间戳。 | 
| PROCESSED | TIMESTAMP_LTZ | 上次尝试发送通知的时间戳。 | 
| MESSAGE_SOURCE | VARCHAR | 生成了通知的对象或功能的类型。有效值包括: 
 | 
| INTEGRATION_NAME | VARCHAR | 用于此通知的集成 的名称。 | 
| STATUS | VARCHAR | 通知的状态。有效值为: 
 | 
| ERROR_MESSAGE | VARCHAR | 如果通知失败,则提供有关通知失败原因的详细信息。 备注 对于 Webhook 通知,此列包含 HTTP 响应的正文,其中可能包含敏感数据。在使用这些数据之前,请确保对其进行清理。 | 
| ID | VARCHAR | 发送通知请求的唯一 ID。 如果 Snowflake 无法发送通知并尝试再次发送通知,则此函数为每次尝试返回一行。每次尝试的行在 ID 列中具有相同的值,但在 ATTEMPT 列中具有不同的值。 | 
| ATTEMPT | INTEGER | 尝试发送通知的次数。 | 
| MESSAGE_SOURCE_INFO | OBJECT | 包含有关通知源的信息的对象。此对象中的字段取决于源的类型。 
 | 
使用说明¶
- 仅对 ACCOUNTADMIN 角色、集成所有者(即对集成具有 OWNERSHIP 权限的角色)或对集成具有 USAGE 权限的角色返回结果。 
- 当调用 Information Schema 表函数时,会话必须具有正在使用的 INFORMATION_SCHEMA 架构,或者 函数名称必须受到完全限定。有关更多详细信息,请参阅 Snowflake Information Schema。 
示例¶
以下部分包含调用该函数的示例以及该函数输出的示例:
调用函数的示例¶
以下示例说明如何调用该函数:
检索最新通知¶
检索过去 24 小时内创建的最新通知。
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
按时间和集成名称检索通知¶
检索过去一小时内创建并使用名为 my_integration 的集成发送的最新通知。
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY(
  START_TIME=>DATEADD('hour',-1,CURRENT_TIMESTAMP()),
  END_TIME=>CURRENT_TIMESTAMP(),
  RESULT_LIMIT=>100,
  INTEGRATION_NAME=>'my_integration'));
函数的输出示例¶
以下示例解释了该函数针对不同状态下的通知请求返回的输出:
两次尝试失败且正在进行第三次尝试时的输出示例¶
此示例选择输出中的列子集:
SELECT id, attempt, created, processed, status
  FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
输出包括代表尝试发送一个通知的行。在输出中:
- ID 列标识正在发送的通知。 
- 前两次发送通知的尝试均失败,但系统可以再次尝试发送通知(如 STATUS 列中的值 - RETRIABLE_FAILURE所示)。
- 第三次尝试正在处理,如 STATUS 列中的值 - QUEUED所示。
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   ID              |   ATTEMPT   |   CREATED                         |   PROCESSED                       |   STATUS              |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   10ae695e-93c3   |   3         |   2023-12-05 15:10:15.194 -0800   |   NULL                            |   QUEUED              |
|   10ae695e-93c3   |   2         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:11:21.443 -0800   |   RETRIABLE_FAILURE   |
|   10ae695e-93c3   |   1         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:10:21.443 -0800   |   RETRIABLE_FAILURE   |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
两次尝试失败且第三次尝试成功时的输出示例¶
此示例选择输出中的列子集:
SELECT id, attempt, created, processed, status
  FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
输出包括代表尝试发送一个通知的行。在输出中:
- ID 列标识正在发送的通知。 
- 前两次发送通知的尝试均失败,但系统可以再次尝试发送通知(如 STATUS 列中的值 - RETRIABLE_FAILURE所示)。
- 第三次尝试成功,如 STATUS 列中的值 - SUCCESS所示。
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   ID              |   ATTEMPT   |   CREATED                         |   PROCESSED                       |   STATUS              |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
|   10ae695e-93c3   |   3         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:12:21.443 -0800   |   SUCCESS             |
|   10ae695e-93c3   |   2         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:11:21.443 -0800   |   RETRIABLE_FAILURE   |
|   10ae695e-93c3   |   1         |   2023-12-05 15:10:15.194 -0800   |   2023-12-05 15:10:21.443 -0800   |   RETRIABLE_FAILURE   |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+