

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

# 使用增强型生成器创建规则
<a name="eb-create-rule-visual"></a>

## 先决条件
<a name="eb-create-rule-prerequisites"></a>

在开始之前，请确保您满足以下条件：
+ 访问亚马逊 EventBridge 控制台
+ 创建 EventBridge 规则的适当 IAM 权限
+ 对事件驱动架构的基本了解

## 概述
<a name="eb-create-rule-overview"></a>

要对收到的事件采取行动 EventBridge，您可以创建规则。当事件与规则中定义的事件模式相匹配时， EventBridge 会将该事件发送到指定的目标。

本主题将引导您创建规则，该规则 EventBridge 用于在事件发送到指定事件总线时进行匹配。

创建 EventBridge 规则涉及四个主要步骤：

1. 选择要处理的事件

1. 配置事件过滤和测试

1. 选择和配置目标

1. 配置规则设置

## 选择活动
<a name="eb-create-rule-source"></a>

首先，选择要发送到目标的事件。

**要选择一个事件**

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

1. 在导航窗格中，选择**规则**，然后选择**创建规则**。

1. 在规则生成器选择页面上，选择**增强型生成器**。

   增强版生成器通过拖放事件和目标为构建规则和目标提供了可视化画布。要改用 JSON 模式和配置，请参阅[创建规则（高级生成器）](eb-create-rule-wizard.md)。

1. 在 “**事件**” 选项卡中，找到要发送给目标的事件：

   1. 选择 “**AWS 服务事件**” 或 “**自定义事件**”。

   1. 使用搜索框或浏览事件列表来查找要发送到目标的事件。

   1. 将一个或多个事件拖到 “**构建**” 画布中，然后将其放在 “**触发事件**” 上。

   EventBridge 显示了 “**触发事件**” 部分。本部分包括：
   + **活动**，其中列出了您选择的活动。
   + **架构**，显示所选事件的架构（如果有）。

     **架构**包含三个选项卡：
     + **树**：事件架构的树视图。
     + **代码**：开放 API 规范或 JSON 格式的事件架构。
     + **信息**：架构的概述信息。
   + **示例事件**，显示所选事件的样本（如果有）。
   + **事件模式（过滤器）**，它包含一个事件模式，用于选择您选择的所有事件。

## 筛选事件以仅发送您想要的内容
<a name="eb-create-rule-event-pattern-visual"></a>

您可能不想将特定类型*的所有*事件发送到目标。您可以使您的事件模式更加具体，以便它只选择包含您感兴趣的属性和值的事件。

### 编辑事件模式（可选）
<a name="eb-create-rule-event-pattern-steps"></a>

在**触发事件**窗格中，您可以通过两种方式构建事件模式：
+ 直观地使用**架构**树视图
+ 在**事件模式**窗格中直接编辑 JSON

**使用架构树视图编辑事件模式**

1. 选择 “**架构**” 窗格的 “**树**” 选项卡。

1. 添加和编辑过滤器以构建事件模式。

   1. 选择要作为过滤器添加到事件模式的属性旁边的过滤器图标。

   1. 从下拉列表中选择比较运算符。

      有关比较运算符的更多信息，请参阅[创建事件模式](eb-create-pattern-operators.md)。

   1. 输入要匹配的值。

   1. 单击复选标记即可完成。

   EventBridge 将您创建的过滤器添加到**事件模式**窗格中的 JSON 中。

1. 添加其他过滤器，直到构造出与所需的所有事件属性相匹配的事件模式。

### 测试事件模式
<a name="eb-create-rule-event-pattern-test"></a>

在构造与所需的所有事件属性相匹配的事件模式后，请进行测试以确保事件模式按预期执行。

#### 测试事件模式（可选）
<a name="eb-create-rule-event-pattern-test-steps"></a>

1. 选择一个示例事件进行测试，或者使用自己的样本事件。
   + **使用提供的示例事件**

     1. 选择 “**使用提供的示例事件**”。

     1. 在 “**触发事件示例**” 下，从下拉列表中选择要用于测试的事件。
   + **使用你自己的活动**

     1. 选择**使用您自己的事件**。

        EventBridge 显示带有空`details`元素的通用事件。

     1. 编辑事件 JSON 以创建要测试事件模式的事件。
**提示**  
您可以使用提供的示例事件作为起点来创建自己的自定义事件，以便在测试中使用：  
选择**使用提供的示例事件**，从**示例触发事件**中选择一个事件，然后选择**复制**。
选择**使用您自己的事件**。
在窗口中选择整个事件，然后将示例事件粘贴到其上。
根据需要编辑事件。

1. 选择 “**运行测试**”。

   EventBridge 显示一条消息，说明测试事件是否与事件模式匹配。

## 选择目标
<a name="eb-create-rule-target-visual"></a>

将一个（最多五个）目标拖到 “**构建**” 画布中，然后将其放在 “**目标**” 上，即可接收与指定事件模式匹配的事件。目标可以包括：
+ 其他 EventBridge 活动巴士，相同或不同 AWS 账户
+ EventBridge API 目的地，包括 Salesforce 等 SaaS 合作伙伴
+ 一系列 AWS 服务资源，例如亚马逊 SQS 队列或亚马逊 SNS 主题

**选择目标**

1. **从 “目标” 窗格中选择目标类型，然后将其拖放到 “构建” 画布的 “**目标**” 形状上。**

   EventBridge 在 Build 中显示 “**目标**” 部分，并根据您选择的目标类型显示适用的配置选项。
**提示**  
如果您指定了多个目标，则选择目标形状会显示该目标的配置部分。

1. 根据您的目标类型配置目标。有关详细的配置步骤，请参阅[EventBridge 目标](eb-targets.md)。

### 自定义发送到目标的事件数据
<a name="eb-create-rule-target-transform"></a>

如果您选择 EventBridge 事件总线或 EventBridge API 目标以外的目标，则可以选择自定义实际传送到目标的数据。

#### 转换或替换发送的事件数据（可选）
<a name="eb-create-rule-target-transform-steps"></a>

1. 在构建设计画布中，选择**目标**形状中的**输入转换**图标。

   EventBridge 显示**输入转换**部分。

1. 在**输入转换配置**下，选择**启用**。

1. 选择转换方法以选择如何自定义发送到目标以匹配事件的文本：
   + **匹配事件的一部分** — EventBridge 仅将原始源事件的指定部分发送到目标。
   + **常量（JSON 文本）**-仅 EventBridge 向目标发送指定的 JSON 文本。不会发送原始源事件的任何部分。
   + **输入转换器**-配置输入转换器以自定义要发送 EventBridge 到目标的文本。有关更多信息，请参阅[转换目标输入](eb-transform-target-input.md)。

## 配置 规则
<a name="eb-create-rule-configure"></a>

最后，配置并创建规则。

**配置规则（控制台）**

1. 选择**配置**。

1. 输入规则的**名称**和可选**描述**。

   一条规则不能与同一事件总线上的另一条规则同名。 AWS 区域 

1. 对于**事件总线**，请选择要与此规则关联的事件总线。

   如果您希望此规则对来自您自己的账户的匹配事件触发，请选择 **AWS 默认事件总线**。当你账户 AWS 服务 中的用户发送事件时，它总是会转到你账户的默认事件总线。

1. **要在规则创建后立即启用规则，请在 “**激活” 下启用 “激活**”。**

1. （可选）为规则输入一个或多个标签。有关更多信息，请参阅 [在 Amazon 中为资源添加标签 EventBridge](eb-tagging.md)。

1. 选择**创建**。

## 后续步骤
<a name="eb-create-rule-next-steps"></a>

创建规则后，您可以：
+ [使用指标监控规则性能](eb-monitoring.md)
+ [使用示例事件测试您的规则](eb-event-pattern-sandbox.md)
+ [根据需要修改事件模式](eb-event-patterns.md)
+ [向现有规则添加其他目标](eb-targets.md)

## 其他资源
<a name="eb-create-rule-additional-resources"></a>

有关 EventBridge 规则的更多信息，请参阅：
+ [EventBridge 规则概述](eb-rules.md)
+ [创建事件模式](eb-event-patterns.md)
+ [EventBridge 目标](eb-targets.md)
+ [疑难解答 EventBridge 规则](eb-troubleshooting.md)