教程:使用输入变压器自定义 EventBridge 传递到事件目标的内容 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

教程:使用输入变压器自定义 EventBridge 传递到事件目标的内容

在将事件的文本发送 EventBridge到规则目标之前,您可以使用中的输入转换器来自定义该事件。

方法是从事件中定义 JSON 路径,并将其输出分配给不同的变量。然后,您可以在输入模板中使用这些变量。不能对字符 < 和 > 进行转义。有关更多信息,请参阅亚马逊 EventBridge 输入转换

注意

如果您指定一个变量以匹配在事件中不存在的 JSON 路径,则不会创建该变量,并且不会在输出中显示该变量。

在本教程中,您使用 detail-type: "customerCreated" 创建与事件匹配的规则。输入转换器将变量 type 映射到事件中的 $.detail-type JSON 路径。然后 EventBridge 将变量放入输入模板中 “此事件是<type>。” 结果是以下 Amazon SNS 消息。

"This event was of customerCreated type."

步骤 1:创建一个 Amazon SNS 主题

创建一个用于接收事件的主题 EventBridge。

要创建主题,请执行以下操作
  1. 通过 https://console.aws.amazon.com/sns/v3/home 打开 Amazon SNS 控制台。

  2. 在导航窗格中,选择 Topics(主题)

  3. 选择创建主题

  4. 对于类型,选择标准

  5. 输入 eventbridge-IT-test 作为主题名称。

  6. 选择创建主题

步骤 2:创建 Amazon SNS 订阅

创建订阅,接收包含转换信息的电子邮件。

创建订阅
  1. 通过以下网址打开 Amazon SNS 控制台:https://console.aws.amazon.com/sns/v3/home

  2. 在导航窗格中,选择订阅

  3. 选择创建订阅

  4. 对于主题 ARN,选择您在步骤 1 中创建的主题。在本教程中,选择 eventbridge-IT-test

  5. 对于协议,选择电子邮件

  6. 对于 Endpoint (终端节点),输入您的电子邮件地址。

  7. 选择创建订阅

  8. 在收到的 Amazon 通知电子邮件中选择确认订阅,以确认订阅。

步骤 3:创建规则

创建规则,使用输入转换器自定义传送到目标的实例状态信息。

创建 规则
  1. 打开亚马逊 EventBridge 控制台,网址为 https://console.aws.amazon.com/events/

  2. 在导航窗格中,选择规则

  3. 选择创建规则

  4. 为规则输入名称和描述。例如,将规则命名为 ARTestRule

  5. 对于事件总线,请选择要与此规则关联的事件总线。如果您希望此规则对来自您自己的账户的匹配事件触发,请选择默认。当您账户中的某个 Amazon 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

  6. 对于规则类型,选择具有事件模式的规则

  7. 选择下一步

  8. 对于事件源,选择其他

  9. 对于事件模式,输入以下代码:

    { "detail-type": [ "customerCreated" ] }
  10. 选择 Next(下一步)

  11. 对于目标类型,选择Amazon 服务

  12. 对于选择目标,从下拉列表中选择 SNS 主题

  13. 对于主题,请选择您在步骤 1 中创建的 Amazon SNS 主题。在本教程中,选择 eventbridge-IT-test

  14. 对于其他设置,执行以下操作:

    1. 对于配置目标输入,从下拉列表中选择输入转换器

    2. 选择配置输入转换器

    3. 对于示例事件,输入以下代码:

      { "detail-type": "customerCreated" }
    4. 对于目标输入转换器,执行以下操作:

      1. 对于输入路径,输入以下代码:

        {"detail-type":"$.detail-type"}
      2. 对于输入模板,输入以下代码:

        "This event was of <detail-type> type."
    5. 选择确认

  15. 选择下一步

  16. 选择下一步

  17. 查看规则详细信息并选择创建规则

步骤 4:发送测试事件

现在,您已经设置了 SNS 主题和规则,我们将发送测试事件,以确保规则可正常运行。

发送测试事件(控制台)
  1. 打开亚马逊 EventBridge 控制台,网址为 https://console.aws.amazon.com/events/

  2. 在导航窗格中,选择 Event Buses (事件总线)

  3. 默认事件总线图块中,选择操作发送事件

  4. 输入事件源。例如,TestEvent

  5. 详细信息类型中,输入 customerCreated

  6. 事件详细信息中,输入 {}

  7. 选择发送

步骤 5:确认成功

如果您从 Amazon 通知中收到一封与预期输出相匹配的电子邮件,则说明您已成功完成本教程。

步骤 6:清除资源

除非您想要保留为本教程创建的资源,否则可立即将其删除。通过删除不再使用的 Amazon 资源,可以防止向您的 Amazon 账户收取不必要的费用。

删除 SNS 主题
  1. 在 SNS 控制台中打开主题页面

  2. 选择您创建的主题。

  3. 选择删除

  4. 输入 delete me

  5. 选择删除

删除 SNS 订阅
  1. 在 SNS 控制台中打开订阅页面

  2. 选择您创建的订阅。

  3. 选择 Delete

  4. 选择 Delete

要删除 EventBridge 规则
  1. 打开 EventBridge 控制台的 “规则” 页面

  2. 选择您创建的规则。

  3. 选择 Delete

  4. 选择 删除