教程:针对失败的 Job 事件发送 Amazon Simple Notification Service 警 - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

教程:针对失败的 Job 事件发送 Amazon Simple Notification Service 警

在本教程中,您将配置 EventBridge 事件规则,它只捕获作业已移至FAILED状态。在本教程结束时,您还可以选择将作业提交到此作业队列。这是为了测试您是否正确配置了 Amazon SNS 警报。

先决条件

本教程假定您具备可正常工作的计算环境和作业队列,随时可以接受作业。如果您没有要从中捕获事件的正在运行的计算环境和作业队列,请执行中的步骤开始使用 Amazon Batch创建一个配置文件。

第 1 步:创建并订阅 Amazon SNS 主题

在本教程中,您配置一个 Amazon SNS 主题来充当新事件规则的事件目标。

创建 Amazon SNS 主题

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

  2. 依次选择 Topics (主题)Create topic (创建主题)

  3. 对于Topic name (主题名称),输入 JobFailedAlert 并选择Create topic (创建主题)

  4. 选择您刚创建的主题。在存储库的主题详情:JobFailedAlert选择屏幕,选择创建订阅.

  5. 对于协议,选择电子邮件。对于 Endpoint,输入您当前有权访问的电子邮件地址,然后选择 Create subscription

  6. 检查您的电子邮件账户,并等待接收订阅确认电子邮件。在收到此电子邮件后,选择 Confirm subscription

第 2 步:注册事件规则

接下来,注册一个仅捕获作业失败事件的事件规则。

注册您的 EventBridge 规则

  1. 打开 Amazon EventBridge 控制台https://console.aws.amazon.com/events/.

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

  3. 选择 Create rule (创建规则)

  4. 为规则输入名称和描述。

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

  5. 适用于定义模式选择事件模式作为事件来源,然后选择自定义模式.

  6. 在文本区域中粘贴以下事件模式。

    { "detail-type": [ "Batch Job State Change" ], "source": [ "aws.batch" ], "detail": { "status": [ "FAILED" ] } }

    此代码定义了 EventBridge 与作业状态为的任意事件匹配的规则。FAILED. 有关事件模式的更多信息,请参阅事件和事件模式中的Amazon EventBridge 用户指南.

  7. 此规则适用于你的所有Amazon Batch团体和每一个Amazon Batchevent. 或者,您也可以创建一个更具体的规则来过滤掉一些结果。

  8. 对于 Select event bus (选择事件总线),选择 Amazon default event bus (亚马逊云科技默认事件总线)。您只能使用原定设置事件总线创建计划规则。

  9. 适用于选择目标,在目标,选择SNS 主题,然后选择JobFailedAlert.

  10. 对于重试策略和死信队列:,在重试策略下:

    1. 适用于活动的最长年龄中输入一个介于 1 分钟 (00:01) 和 24 小时 (24:00) 之间的值。

    2. 对于重试尝试,输入 0 到 185 之间的数字。

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

      • 选择不使用死信队列。

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

      • 选择在其他 Amazon SQS 队列中选择其他队列 Amazon 帐户作为死信队列,然后输入要使用的队列的 ARN。

  11. (可选)为规则输入一个或多个标签。

  12. 选择 Create(创建)。

第 3 步:测试 规则

要测试您的规则,请提交一个在启动后很快就以非零退出代码退出的作业。如果您的事件规则配置正确完成,您应在几分钟内收到包含事件文本的电子邮件。

测试规则

  1. 打开Amazon Batch控制台https://console.aws.amazon.com/batch/.

  2. 提交新的 Amazon Batch 作业。有关更多信息,请参阅 提交作业。对于作业的命令,替换为以下命令,以退出代码 1 退出容器。

    /bin/sh, -c, 'exit 1'
  3. 查看您的电子邮件以确认您已收到失败作业通知的电子邮件提醒。