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

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

创建可对 Amazon 中的事件做出反应的规则 EventBridge

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

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

以下步骤将引导您完成如何创建规则,该规则 EventBridge 用于在将事件发送到指定事件总线时进行匹配。

定义规则

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

定义规则细节
  1. 打开 Amazon EventBridge 控制台,网址为https://console.aws.amazon.com/events/

  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 发送到目标的文本。有关更多信息,请参阅 亚马逊 EventBridge 输入转换

          1. 选择配置输入转换器

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

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

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

        • 重试尝试-输入发生错误后重试向目标发送事件的最大次 EventBridge 数。默认为 185 次。

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

        • 选择不使用死信队列。

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

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

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

    有关更多信息,请参阅 API 目的地作为亚马逊的目标 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 发送到目标的文本。有关更多信息,请参阅 亚马逊 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. 检查新规则的详细信息。要对任何部分进行更改,请选择该部分旁边的编辑按钮。

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