リファレンス: 配列ジョブワークフローの例 - AWS Batch

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

リファレンス: 配列ジョブワークフローの例

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

例:

  • JobA: 配列ではない標準的なジョブです。Amazon S3 バケット BucketA 内のオブジェクトの高速リスト化およびメタデータ検証を実行します。SubmitJob JSON構文は次のとおりです。

    { "jobName": "JobA", "jobQueue": "ProdQueue", "jobDefinition": "JobA-list-and-validate:1" }
  • JobB: 10,000 個のコピーを持つ配列ジョブ。 は 内の各オブジェクトに対して CPU 集約型コマンドJobAを実行しBucketA、結果を にアップロードしますBucketBSubmitJob JSON構文は次のとおりです。

    { "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: JobBN_TO_N 依存関係モデルで依存する 10,000 個のコピーを持つ別の配列ジョブです。メモリ負荷の高いコマンドを BucketB の各項目に対して実行し、メタデータを DynamoDB に書き込んで、結果の出力を BucketC にアップロードします。SubmitJob JSON構文は次のとおりです。

    { "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)。SubmitJob JSON構文は次のとおりです。

    { "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: いくつかの簡単なクリーンアップ操作を実行し、パイプラインが完了したことを示すメッセージと出力 SNS へのリンクを含む Amazon URL 通知を送信する、配列以外の最終ジョブ。SubmitJob JSON構文は次のとおりです。

    { "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" } ] }