기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
참조: 배열 작업 워크플로의 예
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
:에서 각 객체에 대해 CPU집약적인 명령을 실행BucketA
하고 결과를에 업로드JobA
하는에 의존하는 10,000개의 복사본이 있는 배열 작업입니다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
:N_TO_N
종속성 모델을 사용하여JobB
에 종속되는 또 다른 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
: 몇 가지 간단한 정리 작업을 수행하고 파이프라인이 완료되었다는 메시지와 출력에 대한 링크가 포함된 Amazon SNS 알림을 보내는 최종 비 배열 작업입니다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
" } ] }