使用事件表

您可以对创建的事件表执行表操作的子集,该表是专门为获取事件而设计的。本主题中的各部分介绍事件表支持的操作。

备注

如本主题所述,您只能在默认事件表上执行此处列出的操作子集。

事件表支持的操作

由于事件表是专门为获取事件而设计的,因此无法对事件表执行可在普通表上执行的某些操作。

使用事件表,您可以执行以下操作(注意默认事件表的例外情况):

操作

默认事件表支持

用户创建的事件表支持

SHOW EVENT TABLES

DESCRIBE EVENT TABLE

SELECT

DROP TABLE

UNDROP TABLE

CREATE TABLE

TRUNCATE TABLE

DELETE

ALTER TABLE(事件表)

|cm|(不支持重命名)

|cm|(不支持重命名)

从事件表中删除行

如果需要从事件表中删除行,可以使用以下命令:

  • 使用 TRUNCATE TABLE 可从事件表中移除所有行。

  • 使用 DELETE 可从事件表中移除选定的行。

    如果需要实施更复杂的日志保留策略(例如,某些函数的日志保留时间需要比其他函数长),则可以使用此命令。

事件表的参数

您可以使用以下参数指定处理程序代码应如何使用事件表。

EVENT_TABLE

指定事件表的名称,用于记录此账户中的存储过程和 UDFs 的消息。有关参考信息,请参阅 EVENT_TABLE

LOG_LEVEL

Specifies the severity level of log messages produced through logging APIs that should be ingested and made available in the active event table. Log messages at the specified level (and at more severe levels) are ingested. For more information, see LOG_LEVEL and 为日志、指标和跟踪设置级别.

LOG_EVENT_LEVEL

Specifies the severity level of log events (rows with record type EVENT) that should be ingested and made available in the active event table. Log events at the specified level (and at more severe levels) are ingested. For more information, see LOG_EVENT_LEVEL and 为日志、指标和跟踪设置级别.

METRIC_LEVEL

指定应引入并在活动事件表中可用的指标数据。有关更多信息,请参阅 METRIC_LEVEL为日志、指标和跟踪设置级别

TRACE_LEVEL

指定应引入并在活动事件表中提供的跟踪事件的详细程度。引入指定级别的事件。有关更多信息,请参阅 TRACE_LEVEL为日志、指标和跟踪设置级别

事件表的访问控制权限

您可以使用全局和事件表范围的权限来管理对事件表操作的访问。

有关更多信息,请参阅 事件表权限Global privileges (account privileges) 中的记录级别权限。

管理对事件表数据的访问

如果无法将事件表数据提供给一系列用户和角色,则可以创建视图供具有特定角色的用户访问。

如果要管理对此表中数据的访问,可以在事件表上创建视图,然后将每个视图的访问权限授予不同的角色。通过视图,角色可能有权访问事件表中指定的数据子集。

有关创建视图的更多信息,请参阅 CREATE VIEW

使用流来跟踪对事件表的更改

您可以在事件表上创建流,例如获取表的变更。

有关流的更多信息,请参阅 Introduction to streamsCREATE STREAM

以下示例中的代码创建流来获取事件表 my_event_table 上的插入。

CREATE STREAM append_only_comparison ON EVENT TABLE my_event_table APPEND_ONLY=TRUE;