翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
リファレンス: 配列ジョブワークフローの例
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
、結果を にアップロードしますBucketB
。SubmitJob 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
:JobB
にN_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
" } ] }