教程:使用输入转换器转换事件 EventBridge - Amazon EventBridge

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

教程:使用输入转换器转换事件 EventBridge

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

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

注意

如果您指定一个变量来匹配事件中不存在的JSON路径,则该变量不会被创建,也不会出现在输出中。

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

"This event was of customerCreated type."

步骤 1:创建亚马逊SNS主题

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

要创建主题,请执行以下操作
  1. https://console.aws.amazon.com/sns/v3/ hom SNS e 上打开亚马逊主机。

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

  3. 选择创建主题

  4. 对于类型,选择标准

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

  6. 选择创建主题

第 2 步:创建亚马逊SNS订阅

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

创建订阅
  1. https://console.aws.amazon.com/sns/v3/ hom SNS e 上打开亚马逊主机。

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

  3. 选择创建订阅

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

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

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

  7. 选择创建订阅

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

步骤 3:创建规则

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

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

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

  3. 选择创建规则

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

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

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

  7. 选择下一步

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

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

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

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

  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:确认成功

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

步骤 6:清除资源

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

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

  2. 选择您创建的主题。

  3. 选择删除

  4. 输入 delete me

  5. 选择删除

删除订SNS阅
  1. 打开SNS控制台的 “订阅” 页面

  2. 选择您创建的订阅。

  3. 选择 Delete

  4. 选择 Delete

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

  2. 选择您创建的规则。

  3. 选择 Delete

  4. 选择 删除