

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

# Amazon EventBridge 的 AWS Batch 事件流
<a name="cloudwatch_event_stream"></a>

可以使用 Amazon EventBridge AWS Batch事件流近乎实时地接收通知，了解在作业队列中的作业的当前状态。

可以使用 EventBridge 来进一步获得有关AWS Batch服务的见解。更具体地说，可以使用它来检查作业进度、构建AWS Batch自定义工作流程、生成使用情况报告或指标，或者构建自己的仪表板。借助AWS Batch和 EventBridge，无需计划和监控用于持续轮询AWS Batch以了解作业状态更改的代码。相反，可以使用各种 Amazon EventBridge 目标异步处理AWS Batch作业状态的变化。其中包括 AWS Lambda、Amazon Simple Queue Service、Amazon Simple Notification Service 或 Amazon Kinesis Data Streams。

确保传送AWS Batch事件流中的事件至少一次。在发送重复事件的情况下，事件会提供足量信息来确定重复项。这样就可以比较事件的时间戳和作业状态。

AWS Batch作业可作为 EventBridge 的目标提供。可以通过使用简单的规则来匹配事件并根据事件提交 AWS Batch 作业。有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的[什么是 EventBridge？](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 还可以使用 EventBridge 计划自动化操作，这些操作可在特定时间使用**cron**或 rate 表达式自动触发。有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的[创建按计划运行的 Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) 有关示例演练的信息，请参阅[AWS Batch 作业作为 EventBridge 的目标](batch-cwe-target.md)。有关 EventBridge 调度器的更多信息，请参阅《Amazon EventBridge 用户指南》中的[设置 Amazon EventBridge 调度器](https://docs.aws.amazon.com/scheduler/latest/UserGuide/setting-up.html)。

**Topics**
+ [

# AWS Batch 事件
](batch_cwe_events.md)
+ [

# 教程：将 AWS 用户通知与 AWS Batch
](using-user-notifications.md)
+ [

# AWS Batch 作业作为 EventBridge 的目标
](batch-cwe-target.md)
+ [

# 教程：使用 EventBridge 侦听 AWS Batch 作业事件
](batch_cwet.md)
+ [

# 教程：针对作业失败事件发送 Amazon Simple Notification Service 警报
](batch_sns_tutorial.md)

# AWS Batch 事件
<a name="batch_cwe_events"></a>

AWS Batch 向。发送任务状态更改事件 EventBridge。 AWS Batch 跟踪您的工作状态。如果先前提交的作业的状态发生变化，则会调用一个事件。例如，如果状态为`RUNNING`的作业变为`FAILED`状态。这些事件归类为作业状态更改事件。

**注意**  
AWS Batch 将来可能会添加其他事件类型、来源和细节。如果以编程方式对事件 JSON 数据反序列化，请确保应用程序已准备好处理未知属性。这是为了避免在添加这些附加属性时出现问题。

# 作业状态更改事件
<a name="batch_job_events"></a>

只要现有 (以前提交的) 作业状态发生更改，就会创建一个事件。有关AWS Batch作业状态的更多信息，请参阅[任务状态](job_states.md)。

**注意**  
对于初始作业提交不会创建事件。

**Example 作业状态更改事件**  
作业状态更改事件以下面的形式传送。`detail` 部分类似于 *AWS BatchAPI Reference* 中的 [DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html) API 操作返回的[ JobDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_JobDetail.html) 对象。有关 EventBridge 参数更多信息，请参阅 *Amazon EventBridge 用户指南*中[事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。  

```
{
    "version": "0",
    "id": "c8f9c4b5-76e5-d76a-f980-7011e206042b",
    "detail-type": "Batch Job State Change",
    "source": "aws.batch",
    "account": "123456789012",
    "time": "2022-01-11T23:36:40Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:batch:us-east-1:123456789012:job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8"
    ],
    "detail": {
        "jobArn": "arn:aws:batch:us-east-1:123456789012:job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8",
        "jobName": "event-test",
        "jobId": "4c7599ae-0a82-49aa-ba5a-4727fcce14a8",
        "jobQueue": "arn:aws:batch:us-east-1:123456789012:job-queue/PexjEHappyPathCanary2JobQueue",
        "status": "RUNNABLE",
        "attempts": [],
        "createdAt": 1641944200058,
        "retryStrategy": {
            "attempts": 2,
            "evaluateOnExit": []
        },
        "dependsOn": [],
        "jobDefinition": "arn:aws:batch:us-east-1:123456789012:job-definition/first-run-job-definition:1",
        "parameters": {},
        "container": {
            "image": "137112412989.dkr.ecr.us-east-1.amazonaws.com/amazonlinux:latest",
            "command": [
                "sleep",
                "600"
            ],
            "volumes": [],
            "environment": [],
            "mountPoints": [],
            "ulimits": [],
            "networkInterfaces": [],
            "resourceRequirements": [
                {
                    "value": "2",
                    "type": "VCPU"
                }, {
                    "value": "256",
                    "type": "MEMORY"
                }
            ],
            "secrets": []
        },
        "propagateTags": false,
        "platformCapabilities": []
    }
}
```

# 作业队列阻塞事件
<a name="batch-job-queue-blocked-events"></a>

每当 AWS Batch 检测到处于该`RUNNABLE`状态的任务从而阻塞队列时，都会在 Amazon Events 中创建一个 CloudWatch 事件。有关支持的队列阻止原因的更多信息，请参阅 [作业在`RUNNABLE`状态卡住](job_stuck_in_runnable.md)。同样的原因也提供在 [https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html) API 操作的 `statusReason` 字段中。

**Example 作业队列阻塞事件**  
作业队列阻塞事件的传输格式如下。该`detail`部分类似于《API *参考*》中从 [DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)API 操作返回的[JobDetail](https://docs.aws.amazon.com/batch/latest/APIReference/API_JobDetail.html)AWS Batch 对象。有关 EventBridge 参数的更多信息，请参阅 *Amazon EventBridge 用户指南*中的[事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。  

```
{
    "version": "0",
    "id": "c8f9c4b5-76e5-d76a-f980-7011e206042b",
    "detail-type": "Batch Job Queue Blocked",
    "source": "aws.batch",
    "account": "123456789012",
    "time": "2022-01-11T23:36:40Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:batch:us-east-1:123456789012:job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8",
        "arn:aws:batch:us-east-1:123456789012:job-queue/PexjEHappyPathCanary2JobQueue"
    ],
    "detail": {
        "jobArn": "arn:aws:batch:us-east-1:123456789012:job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8",
        "jobName": "event-test",
        "jobId": "4c7599ae-0a82-49aa-ba5a-4727fcce14a8",
        "jobQueue": "arn:aws:batch:us-east-1:123456789012:job-queue/PexjEHappyPathCanary2JobQueue",
        "status": "RUNNABLE",
        "statusReason": "blocked-reason",
        "attempts": [],
        "createdAt": 1641944200058,
        "retryStrategy": {
            "attempts": 2,
            "evaluateOnExit": []
        },
        "dependsOn": [],
        "jobDefinition": "arn:aws:batch:us-east-1:123456789012:job-definition/first-run-job-definition:1",
        "parameters": {},
        "container": {
            "image": "137112412989.dkr.ecr.us-east-1.amazonaws.com/amazonlinux:latest",
            "command": [
                "sleep",
                "600"
            ],
            "volumes": [],
            "environment": [],
            "mountPoints": [],
            "ulimits": [],
            "networkInterfaces": [],
            "resourceRequirements": [
                {
                    "value": "2",
                    "type": "VCPU"
                }, {
                    "value": "256",
                    "type": "MEMORY"
                }
            ],
            "secrets": []
        },
        "propagateTags": false,
        "platformCapabilities": []
    }
}
```

# 服务作业状态更改事件
<a name="service-job-events"></a>

只要现有服务作业状态发生更改，就会创建一个事件。有关服务作业状态的更多信息，请参阅[将 AWS Batch 服务作业状态映射到 SageMaker AI 状态](service-job-status.md)。

**注意**  
对于初始作业提交不会创建事件。

**Example 服务作业状态更改事件**  
服务作业状态更改事件的传输格式如下。`detail` 部分与《AWS Batch API 参考》中 [DescribeServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html) API 操作返回的响应相同**。有关 EventBridge 参数更多信息，请参阅 *Amazon EventBridge 用户指南*中[事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。  
`detail` 事件不包含 `tags` 和 `serviceRequestPayload` 字段。

```
{
  "version": "0",
  "id": "c8f9c4b5-76e5-d76a-f980-7011e206042b",
  "detail-type": "Batch Service Job State Change",
  "source": "aws.batch",
  "account": "123456789012",
  "time": "2022-01-11T23:36:40Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:batch:us-east-1:123456789012:service-job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8"
  ],
  "detail": {
    "attempts": [
      {
        "serviceResourceId": {
          "name": "TrainingJobArn",
          "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/AWSBatchmy-training-job88b610a69aa8380ca5b0a7aba3f81cb8"
        },
        "startedAt": 1641944300058,
        "stoppedAt": 1641944400058,
        "statusReason": "Received status from SageMaker: Training job completed"
      }
    ],
    "createdAt": 1641944200058,
    "jobArn": "arn:aws:batch:us-east-1:123456789012:service-job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8",
    "jobId": "0bb17543-ece6-4480-b1a7-a556d344746b",
    "jobName": "event-test",
    "jobQueue": "arn:aws:batch:us-east-1:123456789012:job-queue/HappyPathJobQueue",
    "latestAttempt": {
      "serviceResourceId": {
        "name": "TrainingJobArn",
        "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/AWSBatchmy-training-job88b610a69aa8380ca5b0a7aba3f81cb8"
      }
    },
    "serviceJobType": "SAGEMAKER_TRAINING",
    "startedAt": 1641944300058,
    "status": "SUCCEEDED",
    "statusReason": "Received status from SageMaker: Training job completed",
    "stoppedAt": 1641944400058,
    "timeoutConfig": {
      "attemptDurationSeconds": 60
    }
  }
}
```

# 服务作业队列阻塞事件
<a name="batch-service-job-queue-blocked-events"></a>

每当 AWS Batch 检测到队列被阻塞时，都会在 Amazon Events 中创建一个 CloudWatch 事件。队列阻塞的原因也会在 [https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html) API 操作的 `statusReason` 字段中提供。

**Example 服务作业队列阻塞事件**  
服务作业队列阻塞事件的传输格式如下。该`detail`部分类似于《API *参考*》中从 [DescribeServiceJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html)API 操作返回的AWS Batch 响应。有关 EventBridge参数的更多信息，请参阅 *Amazon EventBridge 用户指南*中的[事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。  
`detail` 事件不包含 `tags` 和 `serviceRequestPayload` 字段。

```
{
  "version": "0",
  "id": "c8f9c4b5-76e5-d76a-f980-7011e206042b",
  "detail-type": "Batch Service Job Queue Blocked",
  "source": "aws.batch",
  "account": "123456789012",
  "time": "2022-01-11T23:36:40Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:batch:us-east-1:123456789012:service-job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8"
  ],
  "detail": {
    "attempts": [],
    "createdAt": 1641944200058,
    "jobArn": "arn:aws:batch:us-east-1:123456789012:service-job/4c7599ae-0a82-49aa-ba5a-4727fcce14a8",
    "jobId": "6271dfdf-d8a7-41b1-a4d2-55a2224f5375",
    "jobName": "event-test",
    "jobQueue": "arn:aws:batch:us-east-1:123456789012:job-queue/HappyPathJobQueue",
    "serviceJobType": "SAGEMAKER_TRAINING",
    "status": "RUNNABLE",
    "statusReason": "blocked-reason",
    "timeoutConfig": {
      "attemptDurationSeconds": 60
    }
  }
}
```

# 服务作业抢占事件
<a name="batch-service-job-preemption-events"></a>

每当抢占序列开始或完成时，就会发布抢占事件。首次触发抢占以回收借用容量时，就会创建已启动事件。当抢占序列完成时，将创建一个已完成的事件，其中包含抢占尝试的摘要。

**Example Service Job 抢占已启动事件**  
服务作业抢占已启动事件按以下格式传送。有关 EventBridge 参数的更多信息，请参阅 *Amazon EventBridge 用户指南*中的[事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。  

```
{
  "version": "0",
  "id": "1b4a511e-2737-226a-a1e7-fc97f1cd9681",
  "detail-type": "Batch Service Job Preemption Started",
  "source": "aws.batch",
  "account": "123456789012",
  "time": "2026-03-16T19:57:27Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:batch:us-east-1:123456789012:service-job/51f245a9-2995-4a53-bced-7b3c00028f84"
  ],
  "detail": {
    "statusReason": "PREEMPTION_IN_PROGRESS: Cross-share preemption triggered to reclaim borrowed capacity",
    "preemptedJobArn": "arn:aws:batch:us-east-1:123456789012:service-job/51f245a9-2995-4a53-bced-7b3c00028f84",
    "status": "RUNNING"
  }
}
```

**Example Service Job 抢占已完成事件**  
服务作业抢占已完成事件按以下格式传送。该`preemptionSummary`字段包含有关抢占尝试的详细信息，包括计数和最近的抢占尝试信息。  

```
{
  "version": "0",
  "id": "2b1c6151-c166-edf5-822c-211b3bfd46b2",
  "detail-type": "Batch Service Job Preemption Completed",
  "source": "aws.batch",
  "account": "123456789012",
  "time": "2026-03-16T19:57:47Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:batch:us-east-1:123456789012:service-job/51f245a9-2995-4a53-bced-7b3c00028f84"
  ],
  "detail": {
    "preemptedJobArn": "arn:aws:batch:us-east-1:123456789012:service-job/51f245a9-2995-4a53-bced-7b3c00028f84",
    "preemptionSummary": {
      "preemptedAttemptCount": 1,
      "recentPreemptedAttempts": [
        {
          "serviceResourceId": {
            "name": "TrainingJobArn",
            "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/AWSBatchqm-training-job9b2f08f911cf3dd794c1b3e72ae7ca5f"
          },
          "startedAt": 1773690923359,
          "stoppedAt": 1773691064669,
          "statusReason": "Cross-share preemption triggered to reclaim borrowed capacity"
        }
      ]
    },
    "status": "RUNNABLE"
  }
}
```

# 教程：将 AWS 用户通知与 AWS Batch
<a name="using-user-notifications"></a>

可以使用 [AWS 用户通知](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html)来设置交付渠道，以获得有关 AWS Batch 事件的通知。当事件与指定的规则匹配时，会收到通知。您可以通过多个渠道接收事件通知，包括电子邮件、[聊天应用程序中的 Amazon Q 开发者版](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html)聊天通知或 [AWS Console Mobile Application](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/what-is-consolemobileapp.html) 推送通知。还可以在[控制台通知中心](https://console.aws.amazon.com/notifications/)中查看通知。用户通知支持聚合，这可以减少在具体事件期间收到的通知数量。

要在中配置用户通知，请执行 AWS Batch以下操作：

1. 打开[AWS Batch 控制台](https://console.aws.amazon.com/batch/home)。

1. 选择**控制面板**。

1. 选择**配置通知**。

1. 在** AWS 用户通知**中，选择**创建通知配置**。

有关如何配置和查看用户通知的更多信息，请参阅[AWS 用户通知入门](https://docs.aws.amazon.com/notifications/latest/userguide/getting-started.html)。

# AWS Batch 作业作为 EventBridge 的目标
<a name="batch-cwe-target"></a>

Amazon EventBridge 提供近乎实时的系统事件流，这些系统事件可以描述亚马逊云科技资源中的更改。通常，在 Amazon Elastic Container Service，Amazon Elastic Kubernetes Service 和 AWS Fargate 作业上的 AWS Batch 作为 EventBridge 的目标提供。可以通过使用简单的规则来匹配事件并根据事件提交 AWS Batch 作业。有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的[什么是 EventBridge？](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)

您还可以使用 EventBridge 来计划使用 **cron** 或 rate 表达式在某些时间触发的自动化操作。有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的[创建按计划运行的 Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) 

有关如何创建在事件与事件模式匹配时运行的规则的信息，请参阅*Amazon EventBridge 用户指南*中的[创建对事件作出反应的 Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)。

作为 EventBridge 目标的 AWS Batch 作业的常见用例包括以下：
+ 计划的作业以固定的时间间隔出现。例如，只有在 Amazon EC2 竞价型实例价格较低时，**cron** 作业才会在使用率低的时段出现。
+ AWS Batch 作业为了响应 CloudTrail 中记录的 API 操作而运行。例如，只要将对象上传到指定的 Amazon S3 存储桶，就会提交作业。每次发生这种情况时，EventBridge 输入转换器都会将对象的存储桶和密钥名称传递给 AWS Batch 参数。
**注意**  
在本场景中，所有相关 AWS 资源必须位于同一区域中。这包括诸如 Amazon S3 存储桶、EventBridge 规则和 CloudTrail 日志之类的资源。

在您可以使用 EventBridge 规则和目标提交 AWS Batch 作业之前，EventBridge 服务需要多个权限才能运行 AWS Batch 作业。在 EventBridge 控制台中创建将 AWS Batch 作业指定为目标的规则时，您可以创建此角色。有关此角色所需的服务委托人和 IAM 权限的更多信息，请参阅 [EventBridge IAM 角色](CWE_IAM_role.md)。

**Topics**
+ [

# 教程：创建计划的 AWS Batch 作业
](scheduled-batch-job.md)
+ [

# 教程：创建一个具有事件模式的规则
](event-pattern-batch-job.md)
+ [

# 教程：使用 EventBridge 输入变压器按计划将事件信息传递给 AWS Batch 目标
](cwe-input-transformer.md)

# 教程：创建计划的 AWS Batch 作业
<a name="scheduled-batch-job"></a>

以下过程介绍了如何创建计划的 AWS Batch 作业和所需的 EventBridge IAM 角色。

**若要使用 EventBridge 创建计划 AWS Batch 任务**
**注意**  
此过程适用于 Amazon ECS、Amazon EKS 和 AWS Fargate 作业上所有的 AWS Batch。

1. 访问 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)，打开 Amazon EventBridge 控制台。

1. 从导航栏中，选择要使用的AWS 区域。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

1. 对于**名称**，为计算环境指定唯一名称。名称最多可以包含 64 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\$1）。
**注意**  
规则不能与同一区域中的另一个规则和同一事件总线上的名称相同。

1. （可选）对于**描述**，输入规则的描述。

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

1. （可选）如果您不想立即运行所选总线上的规则，请关闭该规则。

1. 对于 **Rule type**（规则类型），选择 **Schedule**（计划）。

1. 选择**继续创建规则**，或者选择**下一步**。

1. 对于 **Schedule pattern**（计划模式），执行以下操作之一：
   + 选择**在特定时间（例如上午 8:00）运行的精细计划。每月第一个星期一，太平洋标准时间**，然后输入 cron 表达式。有关更多信息，请参阅* Amazon EventBridge 用户指南*中的 [Cron 表达式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-cron-expressions)。
   + 选择**以常规速率运行的计划，例如每 10 分钟**，然后输入 rate 表达式。

1. 选择**下一步**。

1. 对于 **Target types**（目标类型），选择 **AWS 服务**。

1. 在**选择目标**中，选择**批处理作业队列**。然后，进行以下配置：
   + **Job queue**（作业队列）：输入您在其中计划作业的作业队列的 Amazon 资源名称（ARN）。
   + **Job definition** (任务定义)：输入要用于任务的任务定义的名称和版本或完整 ARN。
   + **Job name** (任务名称)：输入您的任务的名称。
   + **Array size** (数组大小)：(可选) 输入要运行多个副本的任务的数组大小。有关更多信息，请参阅 [数组作业](array_jobs.md)。
   + **Job attempts** (任务尝试次数)：(可选) 输入任务失败时重试的次数。有关更多信息，请参阅 [自动作业重试](job_retries.md)。

1. 对于 **Batch job queue**（批处理作业队列）目标类型，EventBridge 需要权限才能将事件发送到目标。EventBridge 可以创建运行事件所需的 IAM 角色。请执行以下操作之一：
   + 要自动创建 IAM 角色，请选择**为此特定资源创建新角色**。
   + 要使用您已经创建的 IAM 角色，请选择 **使用现有角色**。

1. （可选）展开 **Additional settings (其他设置)**。

   1. 在**配置目标输入**中，选择如何处理事件中的文本，然后再将其传递到目标。

   1. 对于**事件的最大期限**，请指定未处理事件保留多长时间的时间间隔。

   1. 对于**重试次数**，请输入事件的重试次数。

   1. 对于**死信队列**，选择一个选项来说明如何处理未处理的事件。如有必要，指定要用作死信队列的 Amazon SQS 队列。

1. （可选）选择 **Add another target**（添加其他目标），以为此规则添加其他目标。

1. 选择**下一步**。

1. （可选）在**标签**中，选择**添加新标签**以为规则添加资源标签。有关更多信息，请参阅 [Amazon EventBridge 标签](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)。

1. 选择**下一步**。

1. 对于**查看和创建**，请查看配置步骤。如果需要进行更改，请选择 **Edit**（编辑）。完成后，选择 **Create**（创建）。

有关创建规则的更多信息，请参阅 *Amazon EventBridge 用户指南*中的[创建按计划运行的 Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)

# 教程：创建一个具有事件模式的规则
<a name="event-pattern-batch-job"></a>

以下过程介绍如何使用事件模式创建规则。

**创建一条规则，在事件与定义的模式匹配时将事件发送到目标**
**注意**  
此过程适用于 Amazon ECS、Amazon EKS 和 AWS Fargate 作业上所有的 AWS Batch。

1. 访问 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)，打开 Amazon EventBridge 控制台。

1. 从导航栏中，选择要使用的AWS 区域。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

1. 对于**名称**，为计算环境指定唯一名称。名称最多可以包含 64 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\$1）。
**注意**  
规则不能与同一区域中的另一个规则和同一事件总线上的名称相同。

1. （可选）对于**描述**，输入规则的描述。

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

1. （可选）如果您不想立即运行所选总线上的规则，请关闭该规则。

1. 对于**规则类型**，选择**具有事件模式的规则**。

1. 选择**下一步**。

1. 对于**事件源**，选择 **AWS 事件或 EventBridge 合作伙伴事件**。

1. （可选）对于**示例事件**：

   1. 对于**示例事件类型**，选择** AWS 事件**。

   1. 对于**示例事件**，选择**批处理作业状态更改**。

1. 对于**创建方法**，选择**使用模式表单**。

1. 对于**事件模式**：

   1. 对于**事件源**，选择 **AWS 服务**。

   1. 对于 **AWS 服务**，选择**批处理**。

   1. 对于**事件类型**，选择**批量作业状态更改**。

1. 选择**下一步**。

1. 对于 **Target types**（目标类型），选择 **AWS 服务**。

1. 在**选择目标**中，选择目标类型。例如，选择**批处理作业队列**。然后指定以下内容：
   + **Job queue**（作业队列）：输入您在其中计划作业的作业队列的 Amazon 资源名称（ARN）。
   + **Job definition** (任务定义)：输入要用于任务的任务定义的名称和版本或完整 ARN。
   + **Job name** (任务名称)：输入您的任务的名称。
   + **Array size** (数组大小)：(可选) 输入要运行多个副本的任务的数组大小。有关更多信息，请参阅 [数组作业](array_jobs.md)。
   + **Job attempts** (任务尝试次数)：(可选) 输入任务失败时重试的次数。有关更多信息，请参阅 [自动作业重试](job_retries.md)。

1. 对于 **Batch job queue**（批处理作业队列）目标类型，EventBridge 需要权限才能将事件发送到目标。EventBridge 可以创建运行事件所需的 IAM 角色。请执行以下操作之一：
   + 要自动创建 IAM 角色，请选择**为此特定资源创建新角色**。
   + 要使用您之前创建的 IAM 角色，请选择**使用现有角色**。

1. （可选）展开 **Additional settings (其他设置)**。

   1. 在**配置目标输入**中，选择如何处理事件中的文本。

   1. 对于**事件的最大期限**，请指定未处理事件保留多长时间的时间间隔。

   1. 对于**重试次数**，请输入事件的重试次数。

   1. 对于**死信队列**，选择一个选项来说明如何处理未处理的事件。如有必要，指定要用作死信队列的 Amazon SQS 队列。

1. （可选）选择 **添加其他目标**，以添加其他目标。

1. 选择**下一步**。

1. （可选）在**标签**中，选择**添加新标签**以添加资源标签。有关更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Amazon EventBridge 标签](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)。

1. 选择**下一步**。

1. 对于**查看和创建**，请查看配置步骤。如果需要进行更改，请选择 **Edit**（编辑）。完成后，选择**创建规则**。

   要了解如何创建规则的更多信息，请参阅*Amazon EventBridge 用户指南*中的[创建对事件作出反应的 Amazon EventBridge 规则](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)。

# 教程：使用 EventBridge 输入变压器按计划将事件信息传递给 AWS Batch 目标
<a name="cwe-input-transformer"></a>

在作业提交中，您可以使用 EventBridge 输入转换器将 AWS Batch 事件信息传递给。如果您因其他 AWS 事件信息而调用作业，则这可能特别有用。例如，将文件元上载到 Amazon S3 存储桶。您还可以在容器的命令中使用带有参数替换值的作业定义。 EventBridge 输入变压器可以根据事件数据提供参数值。

然后，您创建一个 AWS Batch 事件目标，该目标解析启动它的事件中的信息并将其转换为对象。`parameters`运行作业时，触发事件中的参数将传递至作业容器的命令。

**注意**  
在这种情况下，所有 AWS 资源（例如 Amazon S3 存储桶、 EventBridge 规则和 CloudTrail日志）必须位于同一个区域。

**创建使用输入变压器的 AWS Batch 目标**

1. 打开亚马逊 EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)。

1. 在导航栏中，选择 AWS 区域 要使用的。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

1. 对于**名称**，为计算环境指定唯一名称。名称最多可以包含 64 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\$1）。
**注意**  
一条规则不能与同一事件总线上的另一条规则同名。 AWS 区域 

1. （可选）对于**描述**，输入规则的描述。

1. 对于**事件总线**，请选择要与此规则关联的事件总线。如果您希望此规则对来自您自己的账户的匹配事件触发，请选择**默认**。当你账户 AWS 服务 中的某人发出事件时，它总是会进入你账户的默认事件总线。

1. （可选）如果您不想立即运行所选总线上的规则，请关闭该规则。

1. 对于 **Rule type**（规则类型），选择 **Schedule**（计划）。

1. 选择**继续创建规则**，或者选择**下一步**。

1. 对于 **Schedule pattern**（计划模式），执行以下操作之一：
   + 选择**在特定时间（例如上午 8:00）运行的精细计划。每月第一个星期一，太平洋标准时间**，然后输入 cron 表达式。有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的 [Cron 表达式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-cron-expressions)。
   + 选择**以常规速率运行的计划，例如每 10 分钟**，然后输入 rate 表达式。

1. 选择**下一步**。

1. 对于 **Target types**（目标类型），选择 **AWS 服务**。

1. 在**选择目标**中，选择**批处理作业队列**。然后，进行以下配置：
   + **Job queue**（作业队列）：输入您在其中计划作业的作业队列的 Amazon 资源名称（ARN）。
   + **Job definition** (任务定义)：输入要用于任务的任务定义的名称和版本或完整 ARN。
   + **Job name** (任务名称)：输入您的任务的名称。
   + **Array size** (数组大小)：(可选) 输入要运行多个副本的任务的数组大小。有关更多信息，请参阅 [数组作业](array_jobs.md)。
   + **Job attempts** (任务尝试次数)：(可选) 输入任务失败时重试的次数。有关更多信息，请参阅 [自动作业重试](job_retries.md)。

1. 对于 **Batch 作业队列**目标类型， EventBridge 需要向目标发送事件的权限。 EventBridge 可以创建规则运行所需的 IAM 角色。请执行以下操作之一：
   + 若要自动创建 IAM 角色，请选择 **Create a new role for this specific resource（为此特定资源创建新角色）**。
   + 要使用您已经创建的 IAM 角色，请选择 **使用现有角色**。

1. （可选）展开**其他设置**。

1. 在 **Additional settings**（其他设置）部分，对于 **Configure target input**（配置目标输入），请选择 **Input Transformer**（输入转换器）。

1. 选择 **Configure input transformer**（配置输入转换器）。

1. （可选）对于**示例事件**：

   1. 对于**示例事件类型**，选择**AWS 事件**。

   1. 对于**示例事件**，选择**批处理作业状态更改**。

1. 在 **Target input transformer**（目标输入转换器）部分，对于 **Input path**（输入路径），请指定要从触发事件中解析的值。例如，要解析**批处理作业状态更改**事件，请使用以下 JSON 格式。

   ```
   {
       "instance": "$.detail.jobId",
       "state": "$.detail.status"
   }
   ```

1. 对于**模板正文**，输入以下模板：

   ```
   {
       "instance": <jobId> ,
       "status": <status>
   }
   ```

1. 选择**确认**。

1. 对于**事件的最大期限**，请指定未处理事件保留多长时间的时间间隔。

1. 对于**重试次数**，请输入事件的重试次数。

1. 对于**死信队列**，选择一个选项来说明如何处理未处理的事件。如有必要，指定要用作死信队列的 Amazon SQS 队列。

1. （可选）选择 **添加其他目标**，以添加其他目标。

1. 选择**下一步**。

1. （可选）在**标签**中，选择**添加新标签**以添加资源标签。有关更多信息，请参阅《[亚马逊* EventBridge 用户指南》中的亚马逊 EventBridge *标签](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)。

1. 选择**下一步**。

1. 对于**查看和创建**，请查看配置步骤。如果需要进行更改，请选择 **Edit**（编辑）。完成后，选择 **创建规则**。

# 教程：使用 EventBridge 侦听 AWS Batch 作业事件
<a name="batch_cwet"></a>

在本教程中，您设置一个简单的 AWS Lambda 函数，该函数会侦听 AWS Batch 任务事件并将这些事件写出到 CloudWatch Logs 日志流。

## 先决条件
<a name="cwet_prereqs"></a>

本教程假定您具备可正常工作的计算环境和作业队列，随时可以接受作业。如果您没有要从中捕获事件的正在运行的计算环境和作业队列，请执行[AWS Batch 教程入门](Batch_GetStarted.md)中的步骤创建一个。在本教程结束时，您可选择向此作业队列提交作业，以测试您是否已正确配置 Lambda 函数。

**Topics**
+ [

## 先决条件
](#cwet_prereqs)
+ [

# 教程：创建 Lambda 函数
](cwet_create_lam.md)
+ [

# 教程：注册事件规则
](cwet_register_event_rule.md)
+ [

# 教程：测试配置
](cwet_test.md)

# 教程：创建 Lambda 函数
<a name="cwet_create_lam"></a>

 在此过程中，您将创建一个简单的 Lambda 函数来充当 AWS Batch 事件流消息的目标。

**创建目标 Lambda 函数**

1. 通过 [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) 打开 AWS Lambda 控制台。

1. 选择 **Create function**（创建函数），然后选择 **Author from scratch**（从头开始创作）。

1. 对于**函数名称**，请输入 **batch-event-stream-handler**。

1. 对于**运行时系统**，选择 **Python 3.8**。

1. 选择**创建函数**。

1. 在**代码源**部分中，编辑示例代码以匹配以下示例：

   ```
   import json
   
   
   def lambda_handler(event, _context):
       # _context is not used
       del _context
       if event["source"] != "aws.batch":
           raise ValueError("Function only supports input from events with a source type of: aws.batch")
   
       print(json.dumps(event))
   ```

   这是一个简单的 Python 3.8 函数，可输出由 AWS Batch 发送的事件。如果一切配置正确，则在本教程结束时，您将在与此 Lambda 函数关联的 CloudWatch Logs 日志流中看到事件详细信息。

1. 选择**部署**。

# 教程：注册事件规则
<a name="cwet_register_event_rule"></a>

在该部分中，您创建一个 EventBridge 事件规则，用于捕获来自 AWS Batch 资源的任务事件。该规则捕获来自定义该规则的账户中的 AWS Batch 的所有事件。作业消息本身包含有关事件源的信息 (包括将事件源提交到其中的作业队列)。您可以使用此信息以编程方式过滤和排序事件。

**注意**  
在使用 AWS 管理控制台 创建事件规则时，控制台会自动为 EventBridge 添加 IAM 权限以调用 Lambda 函数。但是，如果您使用 AWS CLI 创建事件规则，则必须明确授予权限。有关更多信息，请参阅《Amazon EventBridge 用户指南》中的[事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)**。

**创建 EventBridge 规则**

1. 打开位于 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 的 Amazon EventBridge 控制台。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

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

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

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

1. 对于**规则类型**，选择**具有事件模式的规则**。

1. 选择**下一步**。

1. 对于**事件源**，选择**其他**。

1. 对于**事件模式**，选择 **自定义模式（JSON 编辑器）**。

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

   ```
   {
     "source": [
       "aws.batch"
     ]
   }
   ```

   此规则适用于您的所有 AWS Batch 组和每个 AWS Batch 事件。或者，您也可以创建一个更具体的规则来过滤掉一些结果。

1. 选择**下一步**。

1. 对于 **Target types**（目标类型），选择 **AWS service**（AWS 服务）。

1. 对于**选择目标**，请选择 **Lambda 函数**，然后选择您的 Lambda 函数。

1. （可选）对于 **Additional settings**（其他设置），执行以下操作：

   1. 对于 **Maximum age of event**（事件的最大时长），输入一分钟（00:01）与 24 小时（24:00）之间的值。

   1. 对于**重试尝试**，输入 0 到 185 之间的数字。

   1. 对于**死信队列**，选择是否使用标准 Amazon SQS 队列作为死信队列。如果与此规则匹配的事件未成功传递到目标，EventBridge 会将这些事件发送到死信队列。请执行以下操作之一：
      + 选择**无**不使用死信队列。
      + 选择**在当前 AWS 账户中选择一个 Amazon SQS 队列用作死信队列**，然后从下拉列表中选择要使用的队列。
      + 选择**在其他 Amazon SQS 队列中选择其他队列 AWS 帐户作为死信队列**，然后输入要使用的队列的 ARN。您必须将基于资源的策略附加到队列，以授予 EventBridge 向其发送消息的权限。有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的[授予死信队列的权限](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html#eb-dlq-perms)。

1. 选择**下一步**。

1. （可选）为规则输入一个或多个标签。有关更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Amazon EventBridge 标签](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)。

1. 选择**下一步**。

1. 查看规则详细信息并选择**创建规则**。

# 教程：测试配置
<a name="cwet_test"></a>

您现在可以通过向作业队列提交作业来测试您的 EventBridge 配置。如果所有配置都正确完成，您的 Lambda 函数将触发并将事件数据写入到该函数的 CloudWatch Logs 日志流。

**测试配置**

1. 打开AWS Batch控制台，地址：[https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)。

1. 提交新的 AWS Batch 作业。有关更多信息，请参阅 [教程：提交作业](submit_job.md)。

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，选择 **Logs** (日志)，然后选择 Lambda 函数的日志组（例如，**/aws/lambda/***my-function*）。

1. 选择日志流以查看事件数据。

# 教程：针对作业失败事件发送 Amazon Simple Notification Service 警报
<a name="batch_sns_tutorial"></a>

在本教程中，您将配置 Amazon EventBridge 事件规则，它只捕获作业已转为 `FAILED` 状态的作业事件。在本教程结束时，您还可以选择向该作业队列提交作业。这是为了测试您是否正确配置了您的 Amazon SNS 提醒。

## 先决条件
<a name="batch_sns_prereq"></a>

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

**Topics**
+ [

## 先决条件
](#batch_sns_prereq)
+ [

# 教程：创建并订阅 Amazon SNS 主题
](batch_sns_create_topic.md)
+ [

# 教程：注册事件规则
](batch_sns_reg_rule.md)
+ [

# 教程：测试您的规则
](batch_sns_test_rule.md)
+ [

## 替代规则：Batch 作业队列被阻止
](#test_blocked_job_queue)

# 教程：创建并订阅 Amazon SNS 主题
<a name="batch_sns_create_topic"></a>

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

**创建 Amazon SNS 主题**

1. 通过 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 打开 Amazon SNS 控制台。

1. 依次选择 **Topics (主题)** 和 **Create topic (创建主题)**。

1. 对于**类型**，选择**标准**。

1. 对于**名称**，输入 **JobFailedAlert** 并选择**创建主题**。

1. 在 **JobFailedAlert** 屏幕上，选择 **创建订阅**。

1. 对于**协议**，选择**电子邮件**。

1. 对于**端点**，输入您当前有权访问的电子邮件地址，然后选择 **创建订阅**。

1. 检查您的电子邮件账户，并等待接收订阅确认电子邮件。在收到此电子邮件后，选择 **确认订阅**。

# 教程：注册事件规则
<a name="batch_sns_reg_rule"></a>

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

**注册您的 EventBridge 规则**

1. 打开位于 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 的 Amazon EventBridge 控制台。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

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

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

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

1. 对于**规则类型**，选择**具有事件模式的规则**。

1. 选择**下一步**。

1. 对于**事件源**，选择**其他**。

1. 对于**事件模式**，选择 **自定义模式（JSON 编辑器）**。

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

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

   此代码定义一个与作业状态为 `FAILED` 的任何事件匹配的 EventBridge 事件规则。有关事件模式的更多信息，请参阅 *Amazon EventBridge 用户指南* 中的 [事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。

1. 选择**下一步**。

1. 对于**目标类型**，选择**AWS 服务**。

1. 对于 **选择目标**，选择 **SNS 主题**；对于 **主题**，选择**JobFailedAlert**。

1. （可选）对于 **Additional settings**（其他设置），执行以下操作：

   1. 对于 **Maximum age of event**（事件的最大时长），输入一分钟（00:01）与 24 小时（24:00）之间的值。

   1. 对于**重试尝试**，输入 0 到 185 之间的数字。

   1. 对于**死信队列**，选择是否使用标准 Amazon SQS 队列作为死信队列。如果与此规则匹配的事件未成功传递到目标，EventBridge 会将这些事件发送到死信队列。请执行以下操作之一：
      + 选择**无**不使用死信队列。
      + 选择**在当前 AWS 账户中选择一个 Amazon SQS 队列用作死信队列**，然后从下拉列表中选择要使用的队列。
      + 选择**在其他 Amazon SQS 队列中选择其他队列 AWS 帐户作为死信队列**，然后输入要使用的队列的 ARN。您必须将基于资源的策略附加到队列，以授予 EventBridge 向其发送消息的权限。有关更多信息，请参阅 *Amazon EventBridge 用户指南*中的[授予死信队列的权限](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-dlq.html#eb-dlq-perms)。

1. 选择**下一步**。

1. （可选）为规则输入一个或多个标签。有关更多信息，请参阅《Amazon EventBridge 用户指南》**中的 [Amazon EventBridge 标签](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)。

1. 选择**下一步**。

1. 查看规则详细信息并选择**创建规则**。

# 教程：测试您的规则
<a name="batch_sns_test_rule"></a>

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

**测试规则**

1. 打开AWS Batch控制台，地址：[https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)。

1. 提交新的 AWS Batch 作业。有关更多信息，请参阅 [教程：提交作业](submit_job.md)。对于作业的命令，替换为以下命令，以退出代码 1 退出容器。

   ```
   /bin/sh, -c, 'exit 1'
   ```

1. 查看您的电子邮件以确认您已收到失败作业通知的电子邮件提醒。

## 替代规则：Batch 作业队列被阻止
<a name="test_blocked_job_queue"></a>

要创建监控*批处理作业队列被阻止*的事件规则，请重复这些教程，并进行以下更改：

1. **在 [教程：创建并订阅 Amazon SNS 主题](batch_sns_create_topic.md) 中**，使用 *BlockedJobQueue* 作为主题名称。

1. **在 [教程：注册事件规则](batch_sns_reg_rule.md) 中**，在 JSON 编辑器中使用以下模式：

   ```
   {
      "detail-type": [
        "Batch Job Queue Blocked"
      ],
      "source": [
        "aws.batch"
      ]
   }
   ```