

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon EventBridge 中创建事件归档
<a name="eb-archive-event"></a>

在 EventBridge 中创建归档时，您可以指定[事件模式](eb-event-patterns.md)，确定将哪些事件发送到归档。EventBridge 会将与事件模式匹配的事件发送到存档。您还可以设置保留期，在事件被丢弃之前将其存储到存档中。

您也可以在[创建事件总线](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html)的过程中创建归档。这些归档采用无限期保留策略，且未设置事件筛选条件，但可以在创建归档后对此进行[更新](https://docs.aws.amazon.com/eventbridge/latest/userguide/event-bus-update-archive.html)。

**Topics**
+ [定义归档](#eb-create-archive-define)
+ [构建事件模式（可选）](#eb-create-archive-event-pattern)

## 定义归档
<a name="eb-create-archive-define"></a>

首先，输入归档的名称和描述，并指定其从中接收事件的事件总线。您也可以选择设置归档中事件的保留时长。

**定义归档**

1. 访问 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)，打开 Amazon EventBridge 控制台。

1. 导航到源事件总线，或者直接创建归档：
   + 在导航窗格中，选择**事件总线**。

     在事件总线详细信息页面上，选择**归档**选项卡。
   + 在导航窗格中，选择**存档**。

1. 选择**创建存档**。

1. 在**归档详细信息**下，输入归档名称，并可选择性地添加描述。

    在所选区域中，该名称对于您的账户必须是唯一的。在创建存档后无法更改名称。

1. 在**源**选项中，选择需将事件发送到该归档的事件总线。

   如果是从现有的事件总线详细信息页面跳转至本页面，则会默认显示该事件总线的名称。

   创建归档后，无法更改源事件总线。

1. 在**保留期**选项中，指定事件在归档中的保留时长：
   + 选择**无限期**，可将事件保留在存档中，永远不会删除。
   + 若要设置固定的保留期，请输入天数，EventBridge 将在该天数后从归档中删除事件。

1. 对于**加密**，选择 EventBridge 在加密归档中存储的事件时使用的 KMS 密钥。
**重要**  
如果您已指定 EventBridge 使用客户自主管理型密钥对源事件总线进行加密，强烈建议您同时为事件总线的所有归档指定客户自主管理型密钥。
   + 选择**使用 AWS 拥有的密钥**，以便 EventBridge 使用 AWS 拥有的密钥 对数据进行加密。

     这种 AWS 拥有的密钥 是 EventBridge 拥有并管理的 KMS 密钥，可在多个 AWS 账户中使用。通常，AWS 拥有的密钥 是一个不错的选择，除非您需要审计或控制保护资源的加密密钥。

     这是默认值。
   + 选择**使用客户自主管理型密钥**，以便 EventBridge 使用您指定或创建的客户自主管理型密钥对数据进行加密。

     客户托管密钥是在您的 AWS 账户中由您创建、拥有和管理的 KMS 密钥。您对此类 KMS 密钥拥有完全控制权。

     1. 指定现有的客户自主管理型密钥，或选择**创建新的 KMS 密钥 />**。

       EventBridge 会显示密钥状态以及与指定客户自主管理型密钥关联的所有密钥别名。

1. 选择**下一步**。

## 构建事件模式（可选）
<a name="eb-create-archive-event-pattern"></a>

接下来，您可以选择构建事件模式，用于筛选 EventBridge 发送至归档的事件。方法是指定事件源，选择事件模式的基础，然后定义要匹配的属性和值。您也可以生成 JSON 格式的事件模式，并针对示例事件对其进行测试。

有关事件模式的更多信息，请参阅 [](eb-event-patterns.md)。

**构建事件模式**

1. 对于**事件源**，选择 **AWS 事件或 EventBridge 合作伙伴事件**。

1. （可选）在**示例事件**部分，选择要测试事件模式的**示例事件类型**。

   提供以下示例事件类型：
   + **AWS 事件** - 从支持的 AWS 服务发出的事件中进行选择。
   + **EventBridge 合作伙伴事件** - 从支持 EventBridge 的第三方服务（例如 Salesforce）发出的事件中进行选择。
   + **输入我自己的** - 以 JSON 文本输入您自己的事件。

     您也可以使用 AWS 或合作伙伴事件作为创建自定义事件的起点。

     1. 选择 **AWS 事件**或 **EventBridge 合作伙伴事件**。

     1. 使用**示例事件**下拉列表，选择要用作自定义事件起点的事件。

        EventBridge 显示此示例事件。

     1. 选择 **复制**。

     1. 选择**输入我自己的**作为**事件类型**。

     1. 在 JSON 编辑窗格中删除示例事件结构，然后将 AWS 或合作伙伴事件粘贴到此处。

     1. 编辑事件 JSON，创建您自己的示例事件。

1. 选择**创建方法**。您可以根据 EventBridge 架构或模板创建事件模式，也可以创建自定义事件模式。

------
#### [ Existing schema ]

   要使用现有 EventBridge 架构创建事件模式，请执行以下操作：

   1. 在**创建方法**部分的**方法**中，选择**使用架构**。

   1. 在**事件模式**部分的**架构类型**中，选择**从架构注册表中选择架构**。

   1. 对于**架构注册表**，选择下拉框并输入架构注册表的名称，例如 `aws.events`。您还可以从出现的下拉列表中选择一个选项。

   1. 对于**架构**，选择下拉框并输入要使用的架构的名称。例如 `aws.s3@ObjectDeleted`。您还可以从出现的下拉列表中选择一个选项。

   1. 在**模型**部分，选择任意属性旁边的**编辑**按钮，可打开其属性。根据需要设置**关系**和**值**字段，然后选择**设置**保存属性。
**注意**  
有关属性定义的信息，请选择属性名称旁边的**信息**图标。有关如何在事件中设置属性的参考，请打开属性对话框的**注释**部分。  
要删除某一属性的特性，请选择该属性的**编辑**按钮，然后选择**清除**。

   1. 选择**以 JSON 格式生成事件模式**，作为 JSON 文本生成并验证您的事件模式。

   1. （可选）要根据您的事件模式测试示例事件，请选择**测试模式**。

      EventBridge 会显示一个消息框，说明您的示例事件是否与事件模式匹配。

      您还可以选择以下任何选项：
      + **复制** - 将事件模式复制到设备的剪贴板。
      + **修饰** - 添加换行符、制表符和空格，使 JSON 文本更易于阅读。

------
#### [ Custom schema ]

   要编写自定义架构并将其转换为事件模式，请执行以下操作：

   1. 在**创建方法**部分的**方法**中，选择**使用架构**。

   1. 在**事件模式**部分的**架构类型**中，选择**输入架构**。

   1. 在文本框中输入您的架构。您必须将架构格式化为有效的 JSON 文本。

   1. 在**模型**部分，选择任意属性旁边的**编辑**按钮，可打开其属性。根据需要设置**关系**和**值**字段，然后选择**设置**保存属性。
**注意**  
有关属性定义的信息，请选择属性名称旁边的**信息**图标。有关如何在事件中设置属性的参考，请打开属性对话框的**注释**部分。  
要删除某一属性的特性，请选择该属性的**编辑**按钮，然后选择**清除**。

   1. 选择**以 JSON 格式生成事件模式**，作为 JSON 文本生成并验证您的事件模式。

   1. （可选）要根据您的事件模式测试示例事件，请选择**测试模式**。

      EventBridge 会显示一个消息框，说明您的示例事件是否与事件模式匹配。

      您还可以选择以下任何选项：
      + **复制** - 将事件模式复制到设备的剪贴板。
      + **修饰** - 添加换行符、制表符和空格，使 JSON 文本更易于阅读。

------
#### [ Event pattern ]

   要以 JSON 格式编写自定义事件模式，请执行以下操作：

   1. 在**创建方法**部分的**方法**中，选择**自定义模式（JSON 编辑器）**。

   1. 在**事件模式**中，以 JSON 格式的文本输入您的自定义事件模式。

   1. （可选）要根据您的事件模式测试示例事件，请选择**测试模式**。

      EventBridge 会显示一个消息框，说明您的示例事件是否与事件模式匹配。

      您还可以选择以下任何选项：
      + **复制** - 将事件模式复制到设备的剪贴板。
      + **修饰** - 添加换行符、制表符和空格，使 JSON 文本更易于阅读。
      + **事件模式表单** - 在模式生成器中打开事件模式。如果此模式无法在模式生成器中按原样渲染，EventBridge 会在打开模式生成器之前向您发出警告。

------

1. 选择**创建存档**。

要确认事件已成功发送到存档，您可以使用 EventBridge API 的 [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html) 操作，了解 `EventCount` 是否反映存档中的事件数量。如果为 0，则存档中没有事件。