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

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

어레이 작업 워크플로 예제

다음에 대한 공통 워크플로 AWS Batch 고객은 필수 설정 작업을 실행하고 여러 개의 입력 작업에 대해 일련의 명령을 실행한 다음 결과를 집계하고 요약 데이터를 Amazon S3, DynamoDB, Amazon Redshift, 또는 Aurora.

예: .

  • JobA: 객체에 대한 빠른 목록 및 메타데이터 검증을 수행하는 표준 비스토리지 작업 Amazon S3 버킷, BucketA. 제출 JSON 구문은 아래에 나와 있습니다.

    { "jobName": "JobA", "jobQueue": "ProdQueue", "jobDefinition": "JobA-list-and-validate:1" }
  • JobB: 10,000개의 복제본이 포함된 스토리지 작업 JobA에서 각 객체에 대해 CPU 집약적 명령을 실행하는 BucketA 결과를 업로드하여 BucketB. 제출 JSON 구문은 아래에 나와 있습니다.

    { "jobName": "JobB", "jobQueue": "ProdQueue", "jobDefinition": "JobB-CPU-Intensive-Processing:1", "containerOverrides": { "vcpus": 32, "memory": 4096 } "arrayProperties": { "size": 10000 }, "dependsOn": [ { "jobId": "JobA_job_ID" } ] }
  • JobC: 10,000개의 복제 스토리지 작업 JobB 함께 N_TO_N 각 항목에 대해 메모리 집약적 명령을 실행하는 종속성 모델 BucketB, 메타데이터 쓰기 DynamoDB에서 생성된 출력을 업로드하고 BucketC. 제출 JSON 구문은 아래에 나와 있습니다.

    { "jobName": "JobC", "jobQueue": "ProdQueue", "jobDefinition": "JobC-Memory-Intensive-Processing:1", "containerOverrides": { "vcpus": 1, "memory": 32768 } "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, 등 The 제출 JSON 구문은 아래에 나와 있습니다.

    { "jobName": "JobD", "jobQueue": "ProdQueue", "jobDefinition": "JobD-Sequential-Validation:1", "containerOverrides": { "vcpus": 1, "memory": 32768 } "arrayProperties": { "size": 10 }, "dependsOn": [ { "jobId": "JobC_job_ID" }, { "type": "SEQUENTIAL" }, ] }
  • JobE: : 몇 가지 단순한 정리 작업을 수행하고 파이프라인이 완료되었다는 메시지와 출력 URL 링크가 포함된 Amazon SNS 알림을 전송하는 최종 비 배열 작업입니다. The 제출 JSON 구문은 아래에 나와 있습니다.

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