

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# Amazon Redshift 事件
<a name="working-with-events"></a>

Amazon Redshift 跟踪集群事件并在您的 AWS 账户中将事件的相关信息保留几周。对于每个事件，Amazon Redshift 会报告事件发生日期、描述、事件源（例如，集群、参数组或快照）和源 ID 等信息。

Amazon Redshift 为某些事件提前提供通知。这些事件的事件类别是 `pending`。例如，如果集群中的一个节点需要硬件更新，我们会发送预先通知。您可以订阅与其他 Amazon Redshift 事件相同的待处理事件。有关更多信息，请参阅 [Amazon Redshift 集群事件通知订阅集群事件通知订阅](working-with-event-notifications-subscribe.md)。

您可以使用 Amazon Redshift 管理控制台、Amazon Redshift API 或 AWS 开发工具包以获取事件信息。您可以获取所有事件的列表，也可以应用筛选条件（如事件持续时间或开始和结束日期）以获取特定时间段的事件信息。

您还可以获取由特定源类型生成的事件，如集群事件或参数组事件。*Source*（源）列显示触发给定操作的资源名称和资源类型。

您可以创建 Amazon Redshift 事件通知订阅以指定一组事件筛选器。当发生与筛选条件匹配的事件时，Amazon Redshift 将使用 Amazon Simple Notification Service 主动通知您发生了该事件。

有关按源类型和类别筛选的 Amazon Redshift 事件列表，请参阅[Amazon Redshift 预置集群事件通知](working-with-event-notifications.md)

# Amazon Redshift 集群事件通知订阅
<a name="working-with-event-notifications-subscribe"></a>

 Amazon Redshift 使用 Amazon Simple Notification Service (Amazon SNS) 传输 Amazon Redshift 事件的通知。创建 Amazon Redshift 事件订阅即可启用通知。当给定的集群、快照、安全组或参数组发生事件时，您可以收到通知。创建订阅最简单的方式是使用 Amazon SNS 控制台。有关创建和订阅 Amazon SNS 主题的信息，请参阅 [Amazon SNS 入门](https://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html)。

在 Amazon Redshift 订阅中，您需要为 Amazon Redshift 事件和 Amazon SNS 主题指定一组筛选条件。每当发生与筛选条件匹配的事件时，Amazon Redshift 就会向 Amazon SNS 主题发布通知消息。

然后，Amazon SNS 会将消息传输给任何拥有 Amazon SNS 主题订阅的 Amazon SNS 使用者。发送给 Amazon SNS 使用者的消息可以采用 AWS 区域的 Amazon SNS 支持的任何形式，如电子邮件、文本消息或对 HTTP 端点的调用。例如，所有区域都支持电子邮件通知，但 SMS 通知只能在美国东部（弗吉尼亚州北部）区域中创建。

**注意**  
目前，您只能创建对 Amazon SNS 标准主题（而不是 Amazon SNS FIFO 主题）的事件订阅。有关更多信息，请参阅《Amazon Simple Notification Service 开发人员指南》**中的 [Amazon SNS 事件来源](https://docs.aws.amazon.com/sns/latest/dg/sns-event-sources.html)。

创建事件通知订阅时，您需要指定一个或多个事件筛选条件。每当发生与所有筛选条件匹配的事件时，Amazon Redshift 就会通过该订阅发送通知。筛选条件包含源类型（例如集群或快照）、源 ID（例如集群或快照的名称）、事件类别（例如监控或安全）和事件严重性（例如 INFO 或 ERROR）。

如果您使用 CLI 或 API 创建事件通知订阅，则必须创建 Amazon Simple Notification Service 主题，并通过 Amazon SNS 控制台或 Amazon SNS API 订阅该主题。您还必须保留该主题的 Amazon Resource Name (ARN)，因为在提交 CLI 命令或者 API 操作时会用到。

您可以将AWS 管理控制台中的 **Enabled**（已启用）单选按钮设置为 `No`，或者使用 Amazon Redshift CLI 或 API 将 `Enabled` 参数设置为 `false`，从而轻松地关闭通知而无需删除订阅。

Amazon Redshift 事件订阅可指定以下事件条件：
+ 源类型，值是集群、快照、参数组和安全组。
+ 资源的源 ID，例如 `my-cluster-1` 或 `my-snapshot-20130823`。该 ID 所属的资源必须位于与事件订阅相同的 AWS 区域中。
+ “事件”类别的值为“配置”、“管理”、“监控”和“安全性”和“待处理”
+ 事件严重性，值是 INFO 或 ERROR。

事件条件可以单独进行指定，只不过您必须先指定源类型，然后才能在控制台中指定源 ID。例如，您可以指定事件类别，而无需指定源类型、源 ID 或严重性。对于不属于在源类型中指定的类型的资源，您可以为其指定源 ID，但系统不会针对来自这些资源的事件发送任何通知。例如，如果您指定了集群源类型和某个安全组的 ID，则该安全组触发的所有事件与相应源类型筛选条件均不匹配，因此系统不会针对这些事件发送任何通知。

Amazon Redshift 会针对任何与在订阅中指定的所有条件匹配的事件发送通知。返回的一系列事件的部分示例：
+ 订阅指定的是集群源类型、my-cluster-1 的源 ID、监控类别和 ERROR 严重性。该订阅将仅针对来自 my-cluster-1、严重性为 ERROR 的监控事件发送通知。
+ 订阅指定的是集群源类型、配置类别和 INFO 严重性。该订阅将针对来自 AWS 账户中的任何 Amazon Redshift 集群、严重性为 INFO 的配置事件发送通知。
+ 订阅指定的是配置类别和 INFO 严重性。该订阅将针对来自 AWS 账户中的任何 Amazon Redshift 资源、严重性为 INFO 的配置事件发送通知。
+ 订阅指定的是 ERROR 严重性。该订阅将针对来自 AWS 账户中的任何 Amazon Redshift 资源、严重性为 ERROR 的所有事件发送通知。

如果您在某个现有订阅中删除或重命名其名称被引用为源 ID 的对象，那么该订阅将保持有效，但不会转发来自该对象的任何事件。如果您日后使用该订阅源 ID 中引用的同一名称创建新对象，那么该订阅将会开始针对来自新对象的事件发送通知。

Amazon Redshift 会向 Amazon SNS 主题发布事件通知，该主题由其 Amazon Resource Name (ARN) 标识。当您使用 Amazon Redshift 控制台创建事件订阅时，您可以指定现有 Amazon SNS 主题，也可以请求控制台在创建订阅时创建主题。

发送到 Amazon SNS 主题的所有 Amazon Redshift 事件通知均会转发给订阅了该主题的所有 Amazon SNS 使用者。您可以使用 Amazon SNS 控制台对 Amazon SNS 主题进行更改，例如向主题添加使用者订阅或删除主题的使用者订阅。

以下章节列出了您可以收取通知的所有类型和事件。此外，它还提供有关订阅和使用 Amazon Redshift 事件订阅的详细信息。

# 创建事件通知订阅
<a name="event-subscribe"></a>

您可以创建 Amazon Simple Notification Service (Amazon SNS) 事件通知订阅，以便在特定 Amazon Redshift 集群、快照、安全组或参数组发生事件时发送通知。这些通知被发送到 SNS 主题，然后 SNS 主题将消息传输给订阅该主题的任何 SNS 使用者。

发送给使用者的 SNS 消息可以采用 AWS 区域的 Amazon SNS 支持的任何通知形式，如电子邮件、文本消息或对 HTTP 端点的调用。例如，所有区域都支持电子邮件通知，但 SMS 通知只能在美国东部（弗吉尼亚北部）区域中进行创建。有关更多信息，请参阅 [Amazon Redshift 预置集群事件通知](working-with-event-notifications.md)。

**要创建事件订阅**

1. 登录到 AWS 管理控制台并打开 Amazon Redshift 控制台，网址：[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在导航菜单上，选择 **Events（事件）**。

1. 选择 **Event subscription (事件订阅)** 选项卡，然后选择 **Create event subscriptions (创建事件订阅)**。

1. 输入事件订阅的属性，例如名称、源类型、类别和严重性。您还可以启用 Amazon SNS 主题以获取事件通知。

1. 选择 **Create event subscriptions（创建事件订阅）**以创建订阅。

# Amazon Redshift 预置集群事件通知
<a name="working-with-event-notifications"></a>

本页介绍每种 Amazon Redshift 源类型的事件 ID 和类别。

**集群源类型的类别和事件**

下表显示了集群为源类型时的事件类别和事件列表。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/working-with-event-notifications.html)

**参数组源类型的类别和事件**

下表显示的是参数组为源类型时的事件类型和事件列表。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/working-with-event-notifications.html)

**安全组源类型的类别和事件**

下表显示了安全组为源类型时的事件类别和事件列表。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/working-with-event-notifications.html)

**快照源类型的类别和事件**

下表显示了快照为源类型时的事件类别和事件列表。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/working-with-event-notifications.html)

# 使用 Amazon EventBridge 的 Amazon Redshift Serverless 事件通知
<a name="serverless-event-notifications-eventbridge"></a>

Amazon Redshift Serverless 使用 Amazon EventBridge 管理事件通知，以便随时了解数据仓库中的更改。Amazon EventBridge 是一种无服务器事件总线服务，让您可以轻松地将应用程序与来自各种源的数据相连接。在这种情况下，事件源是 Amazon Redshift。事件（在环境中监控到的变化）将从您的 Amazon Redshift 数据仓库自动发送到 EventBridge。事件将近乎实时地进行传输。

EventBridge 的功能包括为您编写事件规则提供一个环境，这些规则可以指定针对特定事件采取的操作。您还可以设置目标，这些目标是 EventBridge 可以向其发送事件的资源。目标可以包括 API 目标、Amazon CloudWatch 日志组等。有关规则的更多信息，请参阅 [Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)。有关目标的更多信息，请参阅 [Amazon EventBridge 目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。

事件可以按严重性和类别分类。可使用以下筛选条件：
+ *资源筛选*：接收基于与事件关联的资源的消息。资源包括工作组、快照等。
+ *时间窗口筛选*：确定特定时间段内事件的范围。
+ *类别筛选*：接收指定类别中所有事件的事件通知。

下表包括 Amazon Redshift Serverless 事件以及其他元数据：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/serverless-event-notifications-eventbridge.html)

# 使用 Amazon EventBridge 发送零 ETL 集成事件通知
<a name="integration-event-notifications"></a>

零 ETL 集成使用 Amazon EventBridge 管理事件通知，以便及时了解集成中的更改。Amazon EventBridge 是一种无服务器事件总线服务，让您可以轻松地将应用程序与来自各种源的数据相连接。在这种情况下，事件源是 Amazon Redshift。事件（在环境中监控到的变化）将从您的 Amazon Redshift 数据仓库自动发送到 EventBridge。事件将近乎实时地进行传输。

EventBridge 提供了一个环境，供您编写事件规则，这些规则可以指定针对特定事件采取的操作。您还可以设置目标，这些目标是 EventBridge 可以向其发送事件的资源。目标可以包括 API 目标、Amazon CloudWatch 日志组等。有关规则的更多信息，请参阅 [Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)。有关目标的更多信息，请参阅 [Amazon EventBridge 目标](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)。

事件可以按严重性和类别分类。可使用以下筛选条件：
+ *资源筛选* – 接收基于与事件关联的资源的消息。资源包括工作组或快照。
+ *时间窗口筛选*：确定特定时间段内事件的范围。
+ *类别筛选*：接收指定类别中所有事件的事件通知。

下表包括零 ETL 集成事件以及其他元数据：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/redshift/latest/mgmt/integration-event-notifications.html)