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. Sintaks SubmitJobJSON 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 intensif CPU terhadap setiap objek di BucketA dan mengunggah hasilnya. BucketB Sintaks SubmitJobJSON 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 Sintaks SubmitJobJSON 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 Sintaks SubmitJobJSON 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 SubmitJobJSON 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" } ] }