

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

# 在中创建规则时配置输入变压器 EventBridge
<a name="eb-transform-input-rule"></a>

作为创建规则的一部分，您可以指定一个输入转换器，用于 EventBridge 在将匹配事件发送到指定目标之前处理这些事件。您可以为 AWS 服务或 API 目标的目标配置输入转换器。

**创建目标输入转换器，作为规则的一部分**

1. 按[在 Amazon 中创建规则 EventBridge](eb-create-rule-visual.md)中的步骤操作，创建一条规则。

1. 在**步骤 3 - 选择目标**中，展开**其他设置**。

1. 对于**配置目标输入**，在下拉列表中选择**输入转换器**。

   单击**配置输入转换器**。

   EventBridge 显示**配置输入变压器**对话框。

1. 在**示例事件**部分，选择要测试事件模式的**示例事件类型**。您可以选择 AWS 活动、合作伙伴活动或输入自己的自定义活动。

------
#### [ AWS events ]

   从支持的 AWS 服务发出的事件中进行选择。

   1. 选择 **AWS 事件**。

   1. 在**示例事件**下，选择所需 AWS 的事件。活动按 AWS 服务组织。

      当您选择一个事件时， EventBridge 会填充示例事件。

      例如，如果您选择 **S3 对象已创建**，则 EventBridge 会显示示例 S3 对象已创建事件。

   1. （可选）您也可以选择**复制**，将示例事件复制到设备的剪贴板。

------
#### [ Partner events ]

   从支持的 EventBridge第三方服务（例如 Salesforce）发出的事件中进行选择。

   1. 选择**EventBridge 合作伙伴活动**。

   1. 在**示例事件**下，选择所需合作伙伴事件。事件是按合作伙伴组织的。

      当您选择一个事件时， EventBridge 会填充示例事件。

   1. （可选）您也可以选择**复制**，将示例事件复制到设备的剪贴板。

------
#### [ Enter your own ]

   以 JSON 文本输入您自己的事件。

   1. 选择**输入您自己的**。

   1. EventBridge 使用必需事件属性的模板填充示例事件。

   1. 根据需要编辑示例事件并添加内容。示例事件必须是有效的 JSON。

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

------

1. （可选）展开**示例输入路径、模板和输出**部分，查看以下示例：
   + 如何使用 JSON 路径来定义表示事件数据的变量
   + 如何在输入转换器模板中使用这些变量
   +  EventBridge 发送到目标的结果输出

   有关输入转换的更多详细示例，请参阅[输入转换示例](eb-transform-target-input.md#eb-transform-input-examples)。

1. 在**目标输入转换器**部分，定义要在输入模板中使用的任何变量。

   变量使用 JSON 路径引用原始事件源中的值。然后，您可以在输入模板中引用这些变量，以便在 EventBridge 传递到目标的转换事件中包含来自原始源事件的数据。您最多可以定义 100 个变量。输入转换器必须是有效的 JSON。

   例如，假设您选择了 AWS 事件 **S3 Object** Created 作为此输入转换器的示例事件。然后，您可以定义以下变量，在模板中使用：

   ```
   {
     "requester": "$.detail.requester",
     "key": "$.detail.object.key",
     "bucket": "$.detail.bucket.name"
   }
   ```

   （可选）您也可以选择**复制**，将输入转换器复制到设备的剪贴板。

1. 在 “**模板**” 部分中，撰写要用于确定 EventBridge 传递给目标的内容的模板。

   您可以使用 JSON 字符串、静态信息、您定义的变量以及保留变量。有关输入转换的更多详细示例，请参阅[输入转换示例](eb-transform-target-input.md#eb-transform-input-examples)。

   例如，假设您在前一个示例中定义了变量。然后，您可以撰写以下模板，引用这些变量，以及保留变量和静态信息。

   ```
   {
       "message": "<requester> has created the object \"<key>\" in the bucket \"<bucket>\"",
       "RuleName": <aws.events.rule-name>,
       "ruleArn" : <aws.events.rule-arn>,
       "Transformed": "Yes"
   }
   ```

   （可选）您也可以选择**复制**，将模板复制到设备的剪贴板。

1. 要测试您的模板，请选择**生成输出**。

   EventBridge 根据输入模板处理示例事件，并显示在 Output 下生成的转换后的**输出**。这些信息 EventBridge 将代替原始源事件传递给目标。

   上述示例输入模板生成的输出将如下所示：

   ```
   {
       "message": "123456789012 has created the object "example-key" in the bucket "amzn-s3-demo-bucket"",
       "RuleName": rule-name,
       "ruleArn" : arn:aws:events:us-east-1:123456789012:rule/rule-name,
       "Transformed": "Yes"
   }
   ```

   （可选）您也可以选择**复制**，将生成的输出复制到设备的剪贴板。

1. 选择**确认**

1. 按[在 Amazon 中创建规则 EventBridge](eb-create-rule-visual.md)中的其余步骤操作，创建一条规则。