

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

# 使用 EventBridge 沙盒测试目标输入变压器
<a name="eb-sandbox-input-trans"></a>

在将信息 EventBridge传递给[规则](eb-rules.md)[目标](eb-targets.md)之前，您可以使用输入转换器自定义[事件](eb-events.md)中的文本。

在[创建新规则](eb-create-rule-visual.md)或编辑现有规则时，配置输入转换器通常是指定目标这一大型过程中的一环。但是 EventBridge，使用中的沙盒，您可以快速配置输入变压器并使用示例事件来确认您获得了所需的输出，而无需创建或编辑规则。

有关输入转换的更多信息，请参阅 [亚马逊 EventBridge 输入转换](eb-transform-target-input.md)。

**测试目标输入转换器**

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

1. 在**开发人员资源**下，选择**沙盒**，然后在**沙盒**页面上选择**目标输入转换器**选项卡。

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

------
#### [ Amazon events ]

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

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

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

      当您选择一个事件时， 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。

   例如，假设您选择了 Amazon 事件 **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"
   }
   ```

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