教程:为失败的 Job 事件发送 Amazon 简单通知服务提醒 - AWS Batch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

教程:为失败的 Job 事件发送 Amazon 简单通知服务提醒

在本教程中,您将配置一个 CloudWatch Events 事件规则,该规则只捕获任务已转为FAILED状态。在本教程结束时,您还可以选择向此作业队列提交作业。这是为了测试您是否正确配置了 Amazon SNS 警报。

Prerequisites

本教程假定您具备可正常工作的计算环境和作业队列,随时可以接受作业。如果您没有要从中捕获事件的正在运行的计算环境和作业队列,请执行AWS 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,输入您当前有权访问的电子邮件地址,然后选择创建订阅

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

步骤 2: 注册事件规则

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

创建事件规则

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择 EventsCreate rule

  3. 选择 Show advanced optionsedit

  4. 对于 Build a pattern that selects events for processing by your targets,将现有文本替换为以下文本:

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

    此代码定义一个 CloudWatch Events 规则,该规则与任务状态为的任意事件匹配。FAILED。有关事件模式的更多信息,请参阅事件和事件模式中的Amazon CloudWatch 用户指南

  5. 对于 Targets,选择 Add target。对于 Target type,依次选择 SNS topicJobFailedAlert

  6. 选择 Configure details

  7. 对于规则定义,请键入规则的名称和说明,然后选择创建规则

步骤 3: 测试 规则

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

测试规则

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

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

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