View a markdown version of this page

Contoh alur kerja array - AWS Batch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh alur kerja array

Alur kerja umum bagi AWS Batch pelanggan adalah menjalankan pekerjaan penyiapan prasyarat, menjalankan serangkaian perintah terhadap sejumlah besar tugas input, dan kemudian menyimpulkan dengan pekerjaan yang menggabungkan hasil dan menulis data ringkasan ke Amazon S3, DynamoDB, Amazon Redshift, atau Aurora.

Contoh:

  • JobA: Tugas standar non-array yang membuat daftar cepat dan metadata validasi objek dalam bucket Amazon S3, BucketA. Sintaks SubmitJob JSON adalah sebagai berikut.

    { "jobName": "JobA", "jobQueue": "ProdQueue", "jobDefinition": "JobA-list-and-validate:1" }
  • JobB: Pekerjaan array dengan 10.000 salinan JobA yang bergantung padanya menjalankan CPU-intensive perintah terhadap setiap objek BucketA dan mengunggah hasilnya keBucketB. Sintaks SubmitJob JSON adalah sebagai berikut.

    { "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 pekerjaan array salin lainnya yang bergantung JobB pada model N_TO_N ketergantungan, yang menjalankan perintah intensif memori terhadap setiap item diBucketB, menulis metadata ke DynamoDB, dan mengunggah output yang dihasilkan ke. BucketC Sintaks SubmitJob JSON adalah sebagai berikut.

    { "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: Pekerjaan array yang melakukan 10 langkah validasi yang masing-masing perlu menanyakan DynamoDB dan mungkin berinteraksi dengan bucket Amazon S3 di atas. Setiap langkah dalam JobD menjalankan perintah yang sama. Namun, perilakunya berbeda berdasarkan nilai variabel AWS_BATCH_JOB_ARRAY_INDEX lingkungan dalam wadah pekerjaan. Langkah-langkah validasi ini berjalan secara berurutan (misalnya, JobD:0 dan kemudianJobD:1). Sintaks SubmitJob JSON adalah sebagai berikut.

    { "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: Tugas akhir non-array yang melakukan beberapa operasi pembersihan sederhana dan mengirimkan notifikasi Amazon SNS dengan pesan bahwa alur telah selesai dan tautan ke URL output. Sintaks SubmitJob JSON adalah sebagai berikut.

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