Referensi: Contoh alur kerja pekerjaan array - AWS Batch

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

Referensi: Contoh alur kerja pekerjaan 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 mengumpulkan hasil dan menulis data ringkasan ke Amazon S3, DynamoDB, Amazon Redshift, atau Aurora.

Sebagai contoh:

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

    { "jobName": "JobA", "jobQueue": "ProdQueue", "jobDefinition": "JobA-list-and-validate:1" }
  • JobB: Pekerjaan array dengan 10.000 salinan yang bergantung pada JobA yang menjalankan perintah CPU -intensif terhadap setiap objek di BucketA dan mengunggah hasilnya. BucketB SubmitJobJSONSintaksnya 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: Pekerjaan 10.000 salinan array lainnya yang bergantung JobB pada model N_TO_N ketergantungan, yang menjalankan perintah intensif memori terhadap setiap item di, menulis metadata ke DynamoDBBucketB, dan mengunggah output yang dihasilkan ke. BucketC SubmitJobJSONSintaksnya 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 kueri DynamoDB dan mungkin berinteraksi dengan salah satu 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 kemudian). JobD:1 SubmitJobJSONSintaksnya 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: Pekerjaan akhir non-array yang melakukan beberapa operasi pembersihan sederhana dan mengirimkan SNS pemberitahuan Amazon dengan pesan bahwa pipeline telah selesai dan tautan ke output. URL SubmitJobJSONSintaksnya 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" } ] }