

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

# 使用 EventBridge 沙盒测试事件模式
<a name="eb-event-pattern-sandbox"></a>

定义事件模式通常是[创建新规则](eb-create-rule-visual.md)或编辑现有规则这一大型过程中的一环。但是 EventBridge，使用中的沙盒，您可以快速定义事件模式并使用示例事件来确认模式与所需事件相匹配，而无需创建或编辑规则。测试完事件模式后，您可以 EventBridge 选择直接从沙箱中使用该事件模式创建新规则。

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

**重要**  
在中 EventBridge，可以创建可能导致 higher-than-expected收费和限制的规则。例如，您可能无意中创建了一条规则，导致无限循环，规则会以递归方式触发，不会结束。假设您创建了一条规则来检测 Amazon S3 存储桶上 ACLs 已更改的内容，并触发软件将其更改为所需状态。如果不仔细编写规则，则随后对规则的更改会再次 ACLs 触发该规则，从而形成无限循环。  
有关如何编写精确的规则和事件模式，以最大限度地减少此类意外结果的指导，请参阅[关于规则的最佳实践](eb-rules-best-practices.md)和[最佳实践](eb-patterns-best-practices.md)。

**使用 EventBridge 沙盒测试事件模式**

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

1. 在导航窗格中选择**开发人员资源**，然后选择**沙盒**，再在**沙盒**页面上选择**事件模式**选项卡。

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 将带您进入**创建规则**的**步骤 1**，您可以使用它来创建规则并将其分配给您选择的事件总线。

   请注意，**步骤 2 - 生成事件模式**包含您已经指定的事件模式信息，您可以接受或更新这些信息。

   有关如何创建规则的更多信息，请参阅[使用增强型生成器创建规则](eb-create-rule-visual.md)。