어레이 작업 워크플로우 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

어레이 작업 워크플로우

를 위한 공통 워크플로우AWS Batch고객은 사전 설정 작업을 실행하고, 많은 수의 입력 작업에 대한 일련의 명령을 실행한 다음, 결과를 집계하고 Amazon S3, DynamoDB, Amazon Redshift 또는 Aurora에 요약 데이터를 쓰는 작업으로 완료됩니다.

예:

  • JobA: Amazon S3 버킷인 객체에 대한 빠른 나열과 메타데이터 검증을 수행하는 표준 비 어레이 작업입니다.BucketA. 이SubmitJobJSON 구문은 다음과 같습니다.

    { "jobName": "JobA", "jobQueue": "ProdQueue", "jobDefinition": "JobA-list-and-validate:1" }
  • JobB: 에 종속적인 10,000개의 복제본이 포함된 어레이 작업JobA각 객체에 대해 CPU 집약적 명령을 실행합니다.BucketA결과를 다음으로 업로드합니다.BucketB. 이SubmitJobJSON 구문은 다음과 같습니다.

    { "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: 다음에 종속되는 또 다른 10,000개의 복제 어레이 작업JobB와 함께N_TO_N종속성 모델: 의 각 항목에 대해 메모리 집약적 명령을 실행하는BucketBDynamoDB에 메타데이터를 작성하고 결과 출력을BucketC. 이SubmitJobJSON 구문은 다음과 같습니다.

    { "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). 이SubmitJobJSON 구문은 다음과 같습니다.

    { "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 알림을 전송하는 최종 비 배열 작업입니다. 이SubmitJobJSON 구문은 다음과 같습니다.

    { "jobName": "JobE", "jobQueue": "ProdQueue", "jobDefinition": "JobE-Cleanup-and-Notification:1", "parameters": { "SourceBucket": "s3://JobD-Output-Bucket", "Recipient": "pipeline-notifications@mycompany.com" }, "dependsOn": [ { "jobId": "JobD_job_ID" } ] }