

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 配列ジョブワークフローの例
<a name="example_array_job"></a>

 AWS Batch お客様にとって一般的なワークフローは、前提条件のセットアップジョブを実行し、多数の入力タスクに対して一連のコマンドを実行し、結果を集約して概要データを Amazon S3、DynamoDB、Amazon Redshift、または Aurora に書き込むジョブで終了することです。

例えば、次のようになります。
+ `JobA`: 配列ではない標準的なジョブです。Amazon S3 バケット、`BucketA` 内のオブジェクトの高速リスト化およびメタデータ検証を実行します。[ジョブの JSON 送信構文](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) は、次のとおりです。

  ```
  {
      "jobName": "JobA",
      "jobQueue": "ProdQueue",
      "jobDefinition": "JobA-list-and-validate:1"
  }
  ```
+ `JobB` : `JobA` に依存する 10,000 個のコピーを持つ配列ジョブです。CPU 負荷の高いコマンドを `BucketA` の各オブジェクトに対して実行し、結果を `BucketB` にアップロードします。[ジョブの JSON 送信構文](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) は、次のとおりです。

  ```
  {
      "jobName": "JobB",
      "jobQueue": "ProdQueue",
      "jobDefinition": "JobB-CPU-Intensive-Processing:1",
      "containerOverrides": {
          "resourceRequirements": [
              {
                  "type": "MEMORY",
                  "value": "4096"
              },
              {
                  "type": "VCPU",
                  "value": "32"
              }
          ]
     }
      "arrayProperties": {
          "size": 10000
      },
      "dependsOn": [
          {
              "jobId": "JobA_job_ID"
    }
      ]
  }
  ```
+ `JobC`: `JobB` に `N_TO_N` 依存関係モデルで依存する 10,000 個のコピーを持つ別の配列ジョブです。メモリ負荷の高いコマンドを `BucketB` の各項目に対して実行し、メタデータを DynamoDB に書き込んで、結果の出力を `BucketC` にアップロードします。[ジョブの JSON 送信構文](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) は、次のとおりです。

  ```
  {
      "jobName": "JobC",
      "jobQueue": "ProdQueue",
      "jobDefinition": "JobC-Memory-Intensive-Processing:1",
      "containerOverrides": {
          "resourceRequirements": [
              {
                  "type": "MEMORY",
                  "value": "32768"
              },
              {
                  "type": "VCPU",
                  "value": "1"
              }
          ]
     }
      "arrayProperties": {
          "size": 10000
      },
      "dependsOn": [
          {
              "jobId": "JobB_job_ID",
              "type": "N_TO_N"
          }
      ]
  }
  ```
+ `JobD`: 10 個の検証ステップを実行する配列ジョブです。検証ステップはそれぞれ DynamoDB にクエリする必要があり、上記の Amazon S3 バケットのいずれかとやり取りする可能性があります。の各ステップは同じコマンドを `JobD` 実行します。しかし、ジョブのコンテナ内の環境変数`AWS_BATCH_JOB_ARRAY_INDEX`の値によって動作は異な異なります。これらの検証ステップは順番に実行されます (例えば、`JobD:0` の次に `JobD:1`)。[ジョブの JSON 送信構文](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) は、次のとおりです。

  ```
  {
      "jobName": "JobD",
      "jobQueue": "ProdQueue",
      "jobDefinition": "JobD-Sequential-Validation:1",
      "containerOverrides": {
          "resourceRequirements": [
              {
                  "type": "MEMORY",
                  "value": "32768"
              },
              {
                  "type": "VCPU",
                  "value": "1"
              }
          ]
     }
      "arrayProperties": {
          "size": 10
      },
      "dependsOn": [
          {
              "jobId": "JobC_job_ID"
          },
          {
              "type": "SEQUENTIAL"
          },
   
      ]
  }
  ```
+ `JobE`: 最終的な配列ではないジョブです。シンプルなクリーンアップオペレーションをいくつか実行し、パイプラインが完了したことおよび出力 URL へのリンクを記載したメッセージを含む Amazon SNS 通知を送信します。[ジョブの JSON 送信構文](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) は、次のとおりです。

  ```
  {
      "jobName": "JobE",
      "jobQueue": "ProdQueue",
      "jobDefinition": "JobE-Cleanup-and-Notification:1",
      "parameters": {
          "SourceBucket": "s3://amzn-s3-demo-source-bucket",
          "Recipient": "pipeline-notifications@mycompany.com"
      },
      "dependsOn": [
          {
              "jobId": "JobD_job_ID"
          }
      ]
  }
  ```