

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Batch Amazon EventBridge 的事件串流
<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 使用者指南》中的什麼是](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) EventBridge？。 * EventBridge * 您也可以使用 EventBridge，使用 **cron**或 速率表達式來排程在特定時間自動觸發的自動化動作。如需詳細資訊，請參閱《[Amazon EventBridge 使用者指南》中的建立排程執行](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)*的 Amazon EventBridge *規則。如需範例演練，請參閱 [AWS Batch 任務做為 EventBridge 目標](batch-cwe-target.md)。如需有關使用 EventBridge 排程器的資訊，請參閱《[Amazon EventBridge 使用者指南》中的設定 Amazon EventBridge 排程器](https://docs.aws.amazon.com/scheduler/latest/UserGuide/setting-up.html)。 EventBridge 

**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` 區段類似於 API *AWS Batch 參考*中從 [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 CloudWatch Events 中建立事件。如需支援的封鎖佇列原因的詳細資訊，請參閱 [任務停滯在 `RUNNABLE` 狀態](job_stuck_in_runnable.md)。API [https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)動作的 `statusReason` 欄位也提供相同的原因。

**Example 任務佇列封鎖事件**  
任務佇列封鎖事件會以下列格式交付。`detail` 區段類似 API *AWS Batch 參考*中從 [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 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)。  
事件 中不包含 `tags`和 `serviceRequestPayload` 欄位`detail`。

```
{
  "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 CloudWatch Events 中建立事件。封鎖佇列的原因可在 [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 *AWS Batch 參考*中 [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)。  
事件 中不包含 `tags`和 `serviceRequestPayload` 欄位`detail`。

```
{
  "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 服務任務先佔開始事件**  
服務任務先佔開始事件會以下列格式交付。如需有關 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 服務任務先佔完成事件**  
服務任務先佔完成的事件會以下列格式交付。`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 Developer](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. 選擇 **Dashboard (儀表板)**。

1. 選擇**設定通知**。

1. In** AWS User Notifications**，選擇**建立通知組態**。

如需如何設定和檢視使用者通知的詳細資訊，請參閱[AWS 使用者通知入門](https://docs.aws.amazon.com/notifications/latest/userguide/getting-started.html)。

# AWS Batch 任務做為 EventBridge 目標
<a name="batch-cwe-target"></a>

Amazon EventBridge 提供近乎即時的系統事件串流，描述 Amazon Web Services 資源中的變更。一般而言， AWS Batch 在 Amazon Elastic Container Service、Amazon Elastic Kubernetes Service 和 AWS Fargate 任務上可作為 EventBridge 目標。使用簡單的規則，您可以比對事件並提交 AWS Batch 任務以回應它們。如需詳細資訊，請參閱《Amazon [ EventBridge 使用者指南》中的什麼是](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) EventBridge？。 * EventBridge *

您也可以使用 EventBridge 來排程在特定時間使用 **cron**或 速率表達式調用的自動化動作。如需詳細資訊，請參閱《[Amazon EventBridge 使用者指南》中的建立排程執行](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)*的 Amazon EventBridge *規則。

如需有關如何在事件符合事件模式時建立執行的規則的資訊，請參閱《[Amazon EventBridge 使用者指南》中的建立對事件做出反應的 Amazon EventBridge 規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)。 * EventBridge *

EventBridge 目標 AWS Batch 任務的常見使用案例包括下列使用案例：
+ 排程任務會定期進行。例如，當 Amazon EC2 Spot 執行個體較便宜時，**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 任務**
**注意**  
此程序適用於所有 AWS Batch Amazon ECS、Amazon EKS 和 AWS Fargate 任務。

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. 針對 **Schedule pattern** (排程模式)，執行下列其中一項動作：
   + 選擇**在特定時間執行的精細排程，例如上午 8:00 每月第一個星期一的 PST**，然後輸入 Cron 表達式。如需詳細資訊，請參閱《*Amazon EventBridge 使用者指南*》中的 [Cron Expressions](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-cron-expressions)。
   + **選擇以一般速率執行的排程，例如每 10 分鐘。** 然後輸入速率表達式。

1. 選擇**下一步**。

1. 對於 **Target types** (目標類型)，選擇 **AWS 服務**。

1. 針對**選取目標**，選擇**批次任務佇列**。然後，設定下列項目：
   + **Job queue** (任務佇列)：輸入任務佇列的 Amazon Resource Name (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 標籤](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)》。

1. 選擇**下一步**。

1. 對於**檢閱和建立**，請檢閱組態步驟。如需變更，請選擇 **Edit** (編輯)。完成時，請選擇 **Create rule** (建立規則)。

如需建立規則的詳細資訊，請參閱《[Amazon EventBridge 使用者指南》中的建立排程執行](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)*的 Amazon EventBridge *規則。

# 教學課程：建立具有事件模式的規則
<a name="event-pattern-batch-job"></a>

下列程序說明如何建立具有事件模式的規則。

**建立規則，當事件符合定義的模式時，將事件傳送至目標**
**注意**  
此程序適用於所有 AWS Batch Amazon ECS、Amazon EKS 和 AWS Fargate 任務。

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. 在 **Event source (事件來源)**，選擇 **AWS 服務**。

   1. 針對 **AWS 服務**，選擇**批次**。

   1. 針對**事件類型**，選擇**批次任務狀態變更**。

1. 選擇**下一步**。

1. 對於 **Target types** (目標類型)，選擇 **AWS 服務**。

1. 針對**選取目標**，選擇目標類型。例如，選擇**批次任務佇列**。然後指定下列項目：
   + **Job queue** (任務佇列)：輸入任務佇列的 Amazon Resource Name (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 角色，請選擇 **Use existing role (使用現有角色)**。

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 使用者指南》中的建立對事件做出反應](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)*的 Amazon EventBridge *規則。

# 教學課程：使用 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. 前往 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) 開啟 Amazon EventBridge 主控台。

1. 從導覽列中，選取要 AWS 區域 使用的 。

1. 在導覽窗格中，選擇**規則**。

1. 選擇**建立規則**。

1. 針對**名稱**，指定運算環境的唯一名稱。名稱最多可包含 64 個字元。可以包含大小寫字母、數字、連字號 (-) 和底線 (\$1)。
**注意**  
規則不能與相同 AWS 區域 和相同事件匯流排上的另一個規則具有相同的名稱。

1. (選用) 對於**描述**，請輸入規則的描述。

1. 針對**事件匯流排**，選擇要與此規則建立關聯的事件匯流排。如果您想要此規則匹配來自您的帳戶的事件，請選取**預設值**。當您帳戶中 AWS 服務 的 發出事件時，一律會前往您帳戶的預設事件匯流排。

1. （選用） 如果您不想立即執行規則，請關閉所選匯流排上的規則。

1. 針對**規則類型**，選擇**排程**。

1. 選擇**繼續以建立規則**或**下一步**。

1. 針對 **Schedule pattern** (排程模式)，執行下列其中一項動作：
   + 選擇**在特定時間執行的精細排程，例如上午 8:00 每月第一個星期一的 PST**，然後輸入 Cron 表達式。如需詳細資訊，請參閱《*Amazon EventBridge 使用者指南*》中的 [Cron Expressions](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-cron-expressions)。
   + **選擇以一般速率執行的排程，例如每 10 分鐘。**然後輸入速率表達式。

1. 選擇**下一步**。

1. 對於 **Target types** (目標類型)，選擇 **AWS 服務**。

1. 針對**選取目標**，選擇**批次任務佇列**。然後，設定下列項目：
   + **Job queue** (任務佇列)：輸入任務佇列的 Amazon Resource Name (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. 在 **Additional settings** (其他設定) 區段中，針對 **Configure target input** (設定目標輸入)，選擇 **Input Transformer** (輸入轉換器)。

1. 選擇**設定輸入轉換器**。

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. （選用） 針對**標籤**，選擇**新增標籤**以新增資源標籤。如需詳細資訊，請參閱《Amazon EventBridge 使用者指南》**中的 [Amazon 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：//[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. 選擇 **Create function (建立函數)**。

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. 在**目標類型**欄位中，選擇 **AWS 服務**。

1. 針對**選取目標**，選擇 **Lambda 函數**，然後選取您的 Lambda 函數。

1. (選用) 針對**其他設定**，請執行下列動作：

   1. 針對 **Maximum age of event** (事件的最長存留期)，輸入介於一分鐘 (00:01) 到 24 小時 (24:00) 之間的某個值。

   1. 針對**重試嘗試**，輸入介於 0 到 185 之間的某個數。

   1. 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
      + 選擇**無**，即不使用無效字母佇列。
      + 選擇**目前 AWS 帳戶中的選取 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
      + 選擇**在其他 AWS 帳戶中選取 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列 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. 在 https：//[https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) 開啟 AWS 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)
+ [

## 替代規則：批次任務佇列已封鎖
](#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. 對於 **Endpoint** (端點)，輸入您目前能存取的電子郵件地址，並選擇 **Create subscription** (建立訂閱)。

1. 檢查您的電子郵件帳戶，並等待收到訂閱確認的電子郵件訊息。您收到訊息時，請選擇 **Confirm subscription** (確認訂閱)。

# 教學課程：註冊事件規則
<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"
       ]
     }
   }
   ```

   此程式碼會定義符合任務狀態為 之任何事件的 EventBridge 規則`FAILED`。如需事件模式的詳細資訊，請參閱《*Amazon EventBridge 使用者指南*》中的[事件和事件模式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。

1. 選擇**下一步**。

1. 在**目標類型**欄位中，選擇 **AWS 服務**。

1. 對於**選取目標**，選擇 **SNS 主題**，對於**主題**，選擇 **JobFailedAlert**。

1. (選用) 針對**其他設定**，請執行下列動作：

   1. 針對 **Maximum age of event** (事件的最長存留期)，輸入介於一分鐘 (00:01) 到 24 小時 (24:00) 之間的某個值。

   1. 針對**重試嘗試**，輸入介於 0 到 185 之間的某個數。

   1. 針對**無效字母佇列**，選擇是否使用標準 Amazon SQS 佇列做為無效字母佇列。若與此規則匹配的事件未成功傳送到目標，則 EventBridge 會將其傳送至無效字母佇列。執行以下任意一項：
      + 選擇**無**，即不使用無效字母佇列。
      + 選擇**目前 AWS 帳戶中的選取 Amazon SQS 佇列以用作無效字母佇列**，然後從下拉式清單中選取要使用的佇列。
      + 選擇**在其他 AWS 帳戶中選取 Amazon SQS 佇列做為無效字母佇列**，然後輸入要使用的佇列 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. 在 https：//[https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) 開啟 AWS Batch 主控台。

1. 提交新 AWS Batch 任務。如需詳細資訊，請參閱[教學課程：提交任務](submit_job.md)。針對任務的命令，將結束容器的此命令換成結束代碼 1。

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

1. 檢查您的電子郵件以確認您收到任務通知失敗的電子郵件提醒。

## 替代規則：批次任務佇列已封鎖
<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"
      ]
   }
   ```