AWS Batch
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

教程:为失败的作业事件发送 Amazon Simple Notification Service 提醒

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

先决条件

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

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

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

创建 Amazon SNS 主题

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.amazonaws.cn/sns/v2/home

  2. 选择 TopicsCreate new topic

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

  4. 选择您刚创建的主题。在 Topic details: JobFailedAlert 屏幕上,选择 Create subscription

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

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

步骤 2:注册事件规则

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

创建事件规则

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/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" ] } }

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

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

  6. 选择 Configure details

  7. 对于 Rule definition,键入规则的名称和说明,然后选择 Create rule

步骤 3:测试您的规则

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

测试规则

  1. 使用 https://console.amazonaws.cn/batch/ 打开 AWS Batch 控制台。

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

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