在 Amazon EventBridge 中创建对事件作出反应的规则 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 Amazon EventBridge 中创建对事件作出反应的规则

要对 Amazon EventBridge 收到的事件执行操作,您可以创建规则。当事件匹配规则中定义的事件模式时,EventBridge 会将事件发送到指定的目标,并触发规则中定义的操作。

以下视频探讨了如何创建不同类型的规则,以及如何对其进行测试:

以下步骤将引导您完成创建规则的过程,当事件发送到指定事件总线时,EventBridge 使用该规则来匹配事件。

定义规则

首先,为您的规则输入用于标识它的名称和描述。您还必须定义事件总线,您的规则将在其中查找与事件模式匹配的事件。

定义规则细节
  1. 打开位于 https://console.aws.amazon.com/events/ 的 Amazon EventBridge 控制台。

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

  3. 选择创建规则

  4. 输入规则的名称和可选描述

    规则不能与同一 Amazon Web Services 区域中和同一事件总线上的另一条规则的名称相同。

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

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

  7. 选择下一步

构建事件模式

接下来构建事件模式 方法是指定事件源,选择事件模式的基础,然后定义要匹配的属性和值。您也可以生成 JSON 格式的事件模式,并针对示例事件对其进行测试。

构建事件模式
  1. 对于事件源,选择 Amazon 事件或 EventBridge 合作伙伴事件

  2. (可选)在示例事件部分,选择要测试事件模式的示例事件类型

    提供以下示例事件类型:

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

    • EventBridge 合作伙伴事件 - 从支持 EventBridge 的第三方服务(例如 Salesforce)发出的事件中进行选择。

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

      您也可以使用 Amazon 或合作伙伴事件作为创建自定义事件的起点。

      1. 选择 Amazon 事件EventBridge 合作伙伴事件

      2. 使用示例事件下拉列表,选择要用作自定义事件起点的事件。

        EventBridge 显示此示例事件。

      3. 选择 复制

      4. 选择输入我自己的作为事件类型

      5. 在 JSON 编辑窗格中删除示例事件结构,然后将 Amazon 或合作伙伴事件粘贴到此处。

      6. 编辑事件 JSON,创建您自己的示例事件。

  3. 选择创建方法。您可以根据 EventBridge 架构或模板创建事件模式,也可以创建自定义事件模式。

    Existing schema

    要使用现有 EventBridge 架构创建事件模式,请执行以下操作:

    1. 创建方法部分的方法中,选择使用架构

    2. 事件模式部分的架构类型中,选择从架构注册表中选择架构

    3. 对于架构注册表,选择下拉框并输入架构注册表的名称,例如 aws.events。您还可以从出现的下拉列表中选择一个选项。

    4. 对于架构,选择下拉框并输入要使用的架构的名称。例如 aws.s3@ObjectDeleted。您还可以从出现的下拉列表中选择一个选项。

    5. 模型部分,选择任意属性旁边的编辑按钮,可打开其属性。根据需要设置关系字段,然后选择设置保存属性。

      注意

      有关属性定义的信息,请选择属性名称旁边的信息图标。有关如何在事件中设置属性的参考,请打开属性对话框的注释部分。

      要删除某一属性的特性,请选择该属性的编辑按钮,然后选择清除

    6. 选择以 JSON 格式生成事件模式,作为 JSON 文本生成并验证您的事件模式。

    7. (可选)要根据您的事件模式测试示例事件,请选择测试模式

      EventBridge 会显示一个消息框,说明您的示例事件是否与事件模式匹配。

      您还可以选择以下任何选项:

      • 复制 - 将事件模式复制到设备的剪贴板。

      • 修饰 - 添加换行符、制表符和空格,使 JSON 文本更易于阅读。

    Custom schema

    要编写自定义架构并将其转换为事件模式,请执行以下操作:

    1. 创建方法部分的方法中,选择使用架构

    2. 事件模式部分的架构类型中,选择输入架构

    3. 在文本框中输入您的架构。您必须将架构格式化为有效的 JSON 文本。

    4. 模型部分,选择任意属性旁边的编辑按钮,可打开其属性。根据需要设置关系字段,然后选择设置保存属性。

      注意

      有关属性定义的信息,请选择属性名称旁边的信息图标。有关如何在事件中设置属性的参考,请打开属性对话框的注释部分。

      要删除某一属性的特性,请选择该属性的编辑按钮,然后选择清除

    5. 选择以 JSON 格式生成事件模式,作为 JSON 文本生成并验证您的事件模式。

    6. (可选)要根据您的事件模式测试示例事件,请选择测试模式

      EventBridge 会显示一个消息框,说明您的示例事件是否与事件模式匹配。

      您还可以选择以下任何选项:

      • 复制 - 将事件模式复制到设备的剪贴板。

      • 修饰 - 添加换行符、制表符和空格,使 JSON 文本更易于阅读。

    Event pattern

    要以 JSON 格式编写自定义事件模式,请执行以下操作:

    1. 创建方法部分的方法中,选择自定义模式(JSON 编辑器)

    2. 事件模式中,以 JSON 格式的文本输入您的自定义事件模式。

    3. (可选)要根据您的事件模式测试示例事件,请选择测试模式

      EventBridge 会显示一个消息框,说明您的示例事件是否与事件模式匹配。

      您还可以选择以下任何选项:

      • 复制 - 将事件模式复制到设备的剪贴板。

      • 修饰 - 添加换行符、制表符和空格,使 JSON 文本更易于阅读。

      • 事件模式表单 - 在模式生成器中打开事件模式。如果此模式无法在模式生成器中按原样渲染,EventBridge 会在打开模式生成器之前向您发出警告。

  4. 选择下一步

选择目标

选择一个或多个目标,接收与指定模式匹配的事件。目标可以包括 EventBridge 事件总线、EventBridge API 目标(包括 Salesforce 等 SaaS 合作伙伴或另一 Amazon Web Services 服务)。

选择目标
  1. 对于目标类型,请选择以下目标类型之一:

    Event bus
    1. 选择 EventBridge 事件总线

    2. 选择要用作目标的事件总线。

    3. 对于许多目标类型,EventBridge 需要权限以便将事件发送到目标。在这些情况下,EventBridge 可以创建运行事件所需的 IAM 角色:

      对于执行角色,请执行以下任一操作:

      • 为此规则创建新的执行角色:

        1. 选择为此特定资源创建新角色

        2. 输入此执行角色的名称,或使用 EventBridge 生成的名称。

      • 为此规则使用现有执行角色:

        1. 选择使用现有角色

        2. 输入要使用的执行角色的名称,或从下拉列表中选择。

    4. (可选)对于其他设置,请指定适用于您的目标类型的任何可选设置:

      (可选)对于死信队列,选择是否使用标准 Amazon SQS 队列作为死信队列。如果与此规则匹配的事件未成功传递到目标,EventBridge 会将这些事件发送到死信队列。请执行以下操作之一:

      • 选择不使用死信队列。

      • 在当前 Amazon 帐户中选择选择一个Amazon SQS队列用作死信队列,然后从下拉列表中选择要使用的队列。

      • 选择在其他 Amazon SQS 队列中选择其他队列 Amazon 帐户作为死信队列,然后输入要使用的队列的 ARN。您必须将基于资源的策略附加到队列,以授予 EventBridge 向其发送消息的权限。

        有关更多信息,请参阅 为死信队列授予权限

    API destination
    1. 选择 EventBridge API 目标

    2. 选择新的或现有的 API 目标:

      • 要使用现有 API 目标,请选择使用现有 API 目标。然后从下拉列表中选择 API 目标。

      • 要创建新的 API 目标,请选择创建新的 API 目标。然后为目标提供以下详细信息:

        • 名称 - 为目标键入一个名称。

          名称在您的 Amazon Web Services 账户 内必须是唯一的。名称最多可以包含 64 个字符。有效字符为 A-Za-z0-9. _ -(连字符)。

        • (可选)描述 - 输入目标的描述。

          描述最多可包含 512 个字符。

        • API 目标端点 - 目标的 URL 端点。

          端点 URL 必须以 https 开头。可以将 * 作为路径参数通配符包括在其中。您可以根据目标的 HttpParameters 属性设置路径参数。

        • HTTP 方法 - 选择调用端点时使用的 HTTP 方法。

        • (可选)每秒调用速率限制 - 输入该目标每秒可接受的调用次数上限。

          该值必须大于零。默认情况下,该值设为 300。

        • 连接 - 选择使用新连接或现有连接:

          • 要使用现有连接,请选择使用现有连接,然后从下拉列表中选择连接。

          • 要为此目标创建新连接,请选择创建新连接,然后定义连接的名称目标类型授权类型。您还可以为此连接添加可选描述

    3. 对于许多目标类型,EventBridge 需要权限以便将事件发送到目标。在这些情况下,EventBridge 可以创建运行事件所需的 IAM 角色:

      对于执行角色,请执行以下任一操作:

      • 为此规则创建新的执行角色:

        1. 选择为此特定资源创建新角色

        2. 输入此执行角色的名称,或使用 EventBridge 生成的名称。

      • 为此规则使用现有执行角色:

        1. 选择使用现有角色

        2. 输入要使用的执行角色的名称,或从下拉列表中选择。

    4. (可选)对于其他设置,请指定适用于您的目标类型的任何可选设置:

      请注意,EventBridge 可能不会显示特定 Amazon 服务的以下所有字段。

      1. (可选)在配置目标输入中,选择针对匹配的事件,要如何自定义发送到目标的文本。选择下列选项之一:

        • 匹配的事件 - EventBridge 会将整个原始源事件发送到目标。这是默认值。

        • 部分匹配事件 - EventBridge 仅将原始源事件的指定部分发送到目标。

          指定部分匹配事件下,指定一个 JSON 路径,其中定义了您希望 EventBridge 发送到目标的事件部分。

        • 常量 (JSON 文本) - EventBridge 仅向目标发送指定的 JSON 文本。不会发送原始源事件的任何部分。

          在 JSON 中指定常量下,指定您希望 EventBridge 发送到目标的 JSON 文本(而不是事件)。

        • 输入转换器 - 配置输入转换器,自定义您希望 EventBridge 向目标发送的文本。有关更多信息,请参阅 Amazon EventBridge 输入转换

          1. 选择配置输入转换器

          2. 按照在 EventBridge 中创建规则时配置输入转换器中的步骤配置输入转换器。

      2. (可选)在重试策略下,指定发生错误后 EventBridge 应如何重试向目标发送事件。

        • 事件的最长保留时间 - 输入 EventBridge 保留未处理事件的时间上限(以小时、分钟和秒为单位)。默认为 24 小时。

        • 重试次数 - 输入发生错误后,EventBridge 应重试向目标发送事件的次数上限。默认为 185 次。

      3. (可选)对于死信队列,选择是否使用标准 Amazon SQS 队列作为死信队列。如果与此规则匹配的事件未成功传递到目标,EventBridge 会将这些事件发送到死信队列。请执行以下操作之一:

        • 选择不使用死信队列。

        • 在当前 Amazon 帐户中选择选择一个Amazon SQS队列用作死信队列,然后从下拉列表中选择要使用的队列。

        • 选择在其他 Amazon SQS 队列中选择其他队列 Amazon 帐户作为死信队列,然后输入要使用的队列的 ARN。您必须将基于资源的策略附加到队列,以授予 EventBridge 向其发送消息的权限。

          有关更多信息,请参阅 为死信队列授予权限

    有关更多信息,请参阅 将 API 目标指定为 Amazon EventBridge 中的目标

    Amazon Web Services 服务
    1. 选择 Amazon Web Services 服务

    2. 选择目标中,选择一个 Amazon Web Services 服务用作目标。

    3. 如果您选择支持跨账户目标的 Amazon 服务,则既可以选择与事件总线位于同一账户的目标,也可以选择其他账户中的目标。

      • 对于同一账户中的目标,在目标类型中选择此账户中的目标

        1. 为所选服务提供所需的信息。

          注意

          显示的字段因所选服务而异。有关可用目标的更多信息,请参阅 EventBridge 控制台中可用的事件总线目标

        2. 对于许多目标类型,EventBridge 需要权限以便将事件发送到目标。在这些情况下,EventBridge 可以创建运行事件所需的 IAM 角色:

          对于执行角色,请执行以下任一操作:

          • 为此规则创建新的执行角色:

            1. 选择为此特定资源创建新角色

            2. 输入此执行角色的名称,或使用 EventBridge 生成的名称。

          • 为此规则使用现有执行角色:

            1. 选择使用现有角色

            2. 输入要使用的执行角色的名称,或从下拉列表中选择。

      • 对于其他账户中的目标,在目标类型中选择其他 Amazon 账户中的目标

        1. 输入要将事件发送到的目标资源的 ARN。

        2. 为所选服务提供要求补充的其他相关信息。

        3. 从下拉列表中选择要使用的执行角色的名称。

    4. (可选)对于其他设置,请指定适用于您的目标类型的任何可选设置:

      1. (可选)在配置目标输入中,选择针对匹配的事件,要如何自定义发送到目标的文本。选择下列选项之一:

        • 匹配的事件 - EventBridge 会将整个原始源事件发送到目标。这是默认值。

        • 部分匹配事件 - EventBridge 仅将原始源事件的指定部分发送到目标。

          指定部分匹配事件下,指定一个 JSON 路径,其中定义了您希望 EventBridge 发送到目标的事件部分。

        • 常量 (JSON 文本) - EventBridge 仅向目标发送指定的 JSON 文本。不会发送原始源事件的任何部分。

          在 JSON 中指定常量下,指定您希望 EventBridge 发送到目标的 JSON 文本(而不是事件)。

        • 输入转换器 - 配置输入转换器,自定义您希望 EventBridge 向目标发送的文本。有关更多信息,请参阅 Amazon EventBridge 输入转换

          1. 选择配置输入转换器

          2. 按照在 EventBridge 中创建规则时配置输入转换器中的步骤配置输入转换器。

      2. (可选)在重试策略下,指定发生错误后 EventBridge 应如何重试向目标发送事件。

        • 事件的最长保留时间 - 输入 EventBridge 保留未处理事件的时间上限(以小时、分钟和秒为单位)。默认为 24 小时。

        • 重试次数 - 输入发生错误后,EventBridge 应重试向目标发送事件的次数上限。默认为 185 次。

      3. (可选)对于死信队列,选择是否使用标准 Amazon SQS 队列作为死信队列。如果与此规则匹配的事件未成功传递到目标,EventBridge 会将这些事件发送到死信队列。请执行以下操作之一:

        • 选择不使用死信队列。

        • 在当前 Amazon 帐户中选择选择一个Amazon SQS队列用作死信队列,然后从下拉列表中选择要使用的队列。

        • 选择在其他 Amazon SQS 队列中选择其他队列 Amazon 帐户作为死信队列,然后输入要使用的队列的 ARN。您必须将基于资源的策略附加到队列,以授予 EventBridge 向其发送消息的权限。

          有关更多信息,请参阅 为死信队列授予权限

  2. (可选)选择 Add another target(添加其他目标),以为此规则添加其他目标。

  3. 选择下一步

配置标签并检查规则

最后,为规则输入所需的任何标签,然后检查并创建规则。

配置标签,检查并创建规则
  1. (可选)为规则输入一个或多个标签。有关更多信息,请参阅 在 Amazon EventBridge 中为资源添加标签

  2. 选择下一步

  3. 检查新规则的详细信息。要对任何部分进行更改,请选择该部分旁边的编辑按钮。

    对规则详情感到满意后,选择创建规则