View a markdown version of this page

Batch berjalan di HealthOmics - AWS HealthOmics

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

Batch berjalan di HealthOmics

AWS HealthOmics batch run memungkinkan Anda mengirimkan beberapa run dalam satu permintaan API. Setiap proses dalam batch berbagi konfigurasi dasar yang sama tetapi dapat memiliki input yang berbeda dan parameter spesifik run. Pengoperasian batch mengurangi overhead pengiriman dan menyederhanakan manajemen siklus hidup untuk pemrosesan alur kerja skala besar.

Dengan batch run, Anda dapat:

  • Kirim hingga 100.000 run dalam satu StartRunBatch panggilan, dengan konfigurasi bersama yang ditentukan satu kali dan diterapkan di semua proses.

  • Terapkan penggantian parameter per run untuk sampel individual, termasuk nama, URI keluaran, parameter, prioritas, dan tag.

  • Lacak status batch keseluruhan dan kemajuan pengiriman proses individu melalui GetBatch danListRunsInBatch.

  • Batalkan semua proses dalam satu batch menggunakanCancelRunBatch.

  • Hapus semua proses dalam satu batch menggunakanDeleteRunBatch.

  • Hapus metadata batch denganDeleteBatch.

Konsep batch run

  • Batch — Kumpulan alur kerja yang berjalan yang berbagi konfigurasi umum, dikelola sebagai sumber daya tunggal dengan Nama Sumber Daya Amazon (ARN) dan status siklus hidupnya sendiri.

  • Setelan jalankan default (defaultRunSetting) — Parameter alur kerja yang dibagikan di semua proses dalam batch, seperti ID alur kerja, peran IAM, URI keluaran, kebijakan sesi, dan parameter umum.

  • Run-specific pengaturan (inlineSettingsataus3UriSettings) — Per-run konfigurasi yang mengganti atau bergabung dengan pengaturan jalankan default. Setiap entri harus menyertakan yang unikrunSettingId.

  • Jalankan set elan ID (runSettingId) — Pengidentifikasi unik yang disediakan pelanggan yang diperlukan untuk setiap konfigurasi yang dijalankan dalam batch. Setelah pengiriman, gunakan ListRunsInBatch untuk memet runSettingId akan masing-masing ke HealthOmics-generated runId, memungkinkan Anda untuk melacak proses mana yang dibuat dari konfigurasi input mana.

  • Status batch — Status keseluruhan operasi batch. Kemungkinan nilai:

    • CREATING— Batch sedang dibuat.

    • PENDING— Batch telah dibuat; konfigurasi yang dijalankan sedang divalidasi secara asinkron.

    • SUBMITTING— Validasi selesai; proses individual sedang dikirimkan.

    • INPROGRESS— Semua kiriman run telah dicoba; run sedang dieksekusi.

    • STOPPING— Permintaan pembatalan telah diterima; proses sedang dihentikan.

    • CANCELLED- Batch itu dibatalkan.

    • PROCESSED— Semua proses telah mencapai status terminal (selesai, gagal, atau dibatalkan).

    • FAILED- Batch itu sendiri gagal sebelum proses dapat dibuat. Lihat Batch-level kegagalan untuk detail.

    • RUNS_DELETING— Jalankan dalam batch sedang dihapus.

    • RUNS_DELETE_FAILED— Beberapa atau semua proses dalam batch gagal dihapus.

    • RUNS_DELETED— Semua proses dalam batch telah dihapus.

  • Status pengiriman — Hasil pengiriman untuk dijalankan individu dalam batch. Kemungkinan nilai:

    • SUCCESS— Run berhasil dikirimkan.

    • FAILED— Jalankan pengiriman gagal (misalnya, karena kesalahan validasi).

    • CANCEL_SUCCESS— Run berhasil dibatalkan.

    • CANCEL_FAILED— Jalankan pembatalan gagal.

    • DELETE_SUCCESS— Run berhasil dihapus.

    • DELETE_FAILED— Jalankan penghapusan gagal.

Prasyarat

Sebelum memulai batch run, pastikan Anda memiliki:

  • Alur kerja HealthOmics pribadi yang aktif. Batch run tidak didukung dengan alur kerja Ready2Run.

  • Peran layanan IAM dengan izin untuk menjalankan alur HealthOmics kerja dan mengakses bucket Amazon S3 Anda. Lihat perinciannya di Peran layanan untuk AWS HealthOmics.

  • Lokasi Amazon S3 untuk data input dan hasil keluaran.

  • Run-specific parameter untuk setiap sampel atau konfigurasi eksperimental.

Izin IAM untuk operasi batch

Identitas IAM Anda harus memiliki izin untuk operasi batch dan operasi run individual yang mendasarinya. Kebijakan contoh berikut memberikan izin untuk semua operasi batch:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperations", "Effect": "Allow", "Action": [ "omics:StartRunBatch", "omics:GetBatch", "omics:ListBatch", "omics:ListRunsInBatch", "omics:CancelRunBatch", "omics:DeleteRunBatch", "omics:DeleteBatch" ], "Resource": "arn:aws:omics:*:123456789012:runBatch/*" }, { "Sid": "AllowRunCreation", "Effect": "Allow", "Action": "omics:StartRun", "Resource": [ "arn:aws:omics:*:123456789012:run/*", "arn:aws:omics:*:123456789012:workflow/*", "arn:aws:omics:*:123456789012:runGroup/*" ] }, { "Sid": "AllowListOperations", "Effect": "Allow", "Action": [ "omics:ListBatch", "omics:ListRunsInBatch" ], "Resource": "*" }, { "Sid": "AllowPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/OmicsRole", "Condition": { "StringEquals": { "iam:PassedToService": "omics.amazonaws.com" } } } ] }
catatan

StartRunBatchmemerlukan otorisasi ganda: omics:StartRunBatch pada sumber daya batch dan saat omics:StartRun dijalankan, alur kerja, dan menjalankan sumber daya grup. Kedua izin harus diberikan agar batch berhasil.

Peran layanan IAM yang diter roleArn uskan (digunakan oleh HealthOmics untuk menjalankan proses) memerlukan izin yang sama seperti untuk StartRun panggilan individual. Lihat perinciannya di Peran layanan untuk AWS HealthOmics.

Penandaan dan kontrol akses berbasis tag

Batch menjalankan tag dukungan di dua tingkat:

  • Tag batch (tag pada StartRunBatch permintaan) - Diterapkan ke sumber daya batch. Tag-based kontrol akses (TBAC) sepenuhnya diberlakukan untuk tag batch.

  • Jalankan tag (runTagsdalam defaultRunSetting dan per runrunTags) - Diterapkan ke sumber daya yang dijalankan individual. Tag ini digabungkan menggunakan aturan prioritas yang sama dengan parameter.

Jika Anda menggunakan kebijakan kontrol akses berbasis tag, pastikan kebijakan IAM Anda menyertakan ketentuan aws:RequestTag dan omics:TagResource aws:TagKeys ketentuan yang sesuai.

Contoh: Batasi pembuatan batch ke lingkungan non-produksi

Kebijakan berikut memungkinkan pengguna membuat batch dan menjalankan, tetapi menolak memberi tag pada sumber daya apa pun dengan: environment=production

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchAndRunCreation", "Effect": "Allow", "Action": [ "omics:StartRunBatch", "omics:StartRun" ], "Resource": "*" }, { "Sid": "AllowTaggingNonProd", "Effect": "Allow", "Action": "omics:TagResource", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/environment": ["dev", "test"] } } }, { "Sid": "DenyProductionTags", "Effect": "Deny", "Action": "omics:TagResource", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/environment": "production" } } } ] }

Dengan kebijakan ini:

  • tags: {"environment": "dev"}pada batch → Diizinkan

  • tags: {"environment": "production"}pada batch → Ditolak (403)

  • runTags: {"environment": "production"}di defaultRunSetting → Ditolak untuk proses individual selama pembuatan asinkron

Memulai: Kirim batch pertama Anda

Contoh berikut berjalan melalui pengiriman sejumlah kecil dua kali proses, memeriksa kemajuan, dan meninjau hasil.

Langkah 1: Kirim batch

aws omics start-run-batch \ --batch-name "my-first-batch" \ --default-run-setting '{ "workflowId": "1234567", "roleArn": "arn:aws:iam::123456789012:role/OmicsRole", "outputUri": "s3://my-bucket/output/", "storageType": "DYNAMIC", "parameters": {"referenceUri": "s3://my-bucket/reference.fasta"} }' \ --batch-run-settings '{ "inlineSettings": [ { "runSettingId": "sample-A", "parameters": {"inputUri": "s3://my-bucket/sampleA.fastq"} }, { "runSettingId": "sample-B", "parameters": {"inputUri": "s3://my-bucket/sampleB.fastq"} } ] }'

Respons mengembalikan ID batch yang Anda gunakan untuk semua operasi berikutnya:

{ "id": "7123456", "arn": "arn:aws:omics:us-west-2:123456789012:runBatch/7123456", "status": "CREATING" }

Langkah 2: Periksa kemajuan batch

aws omics get-batch --batch-id 7123456

Tonton kemajuan status lapangan dari CREATING → PENDING → SUBMITTING → INPROGRESS →PROCESSED. Ini submissionSummary menunjukkan berapa banyak run yang berhasil dikirimkan, dan runSummary menunjukkan kemajuan eksekusi.

Langkah 3: Tinjau proses individual

aws omics list-runs-in-batch --batch-id 7123456

Setiap entri memet runSettingId akan (mis.,sample-A) Anda ke HealthOmics-generatedrunId, sehingga Anda dapat melacak hasil kembali ke sampel input Anda.

Langkah 4: Periksa pengiriman yang gagal

aws omics list-runs-in-batch --batch-id 7123456 --submission-status FAILED

Jika ada proses yang gagal dikirimkan, tanggapan termasuk submissionFailureReason dan submissionFailureMessage untuk membantu Anda mendiagnosis masalah.

Memulai batch run

Gunakan StartRunBatch untuk mengirimkan beberapa run dengan satu permintaan. Permintaan tersebut meliputi:

  • defaultRunSetting— Konfigurasi bersama untuk semua proses dalam batch. Ini termasuk bidang sepertiworkflowId,roleArn,outputUri,parameters,scratchStorageMode, danengineSettings. Untuk alur kerja Nextflow, gunakan engineSettings untuk menentukan profil yang berlaku untuk semua proses dalam batch. Untuk informasi selengkapnya, lihat Tentukan pengaturan mesin Nextflow.

  • batchRunSettings- Konfigurasi berjalan individu, disediakan sebagai salah satu dari:

    • inlineSettings— Array hingga 100 konfigurasi khusus run disediakan langsung di badan permintaan. Setiap pengaturan sebaris dapat mencakup engineSettings untuk mengganti profil default untuk proses individual.

    • s3UriSettings— URI Amazon S3 menunjuk ke file JSON yang berisi konfigurasi yang dijalankan. Diperlukan untuk batch dengan lebih dari 100 run, dan mendukung hingga 100.000 run.

Anda juga dapat memberikan bidang berikut:

  • batchName— Nama opsional yang dapat dibaca manusia untuk batch.

  • requestId— Token idempotensi untuk mencegah pengiriman batch duplikat.

  • tags— Tag untuk dikaitkan dengan sumber daya batch itu sendiri.

Kirim batch kecil dengan konfigurasi inline run

Menyediakan array konfigurasi khusus run langsung di badan permintaan menggunakan. inlineSettings Setiap entri harus menyertakan unik runSettingId (wajib). Ini runSettingId adalah kunci Anda untuk menghubungkan hasil - ketika Anda meneleponListRunsInBatch, setiap entri memetakan Anda runSettingId ke HealthOmics-generated runId danrunArn.

Anda dapat menyertakan hingga 100 entri dengan konfigurasi sebaris.

{ "batchName": "genomics-cohort-analysis", "requestId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "tags": { "project": "genomics-study", "environment": "production" }, "defaultRunSetting": { "workflowId": "1234567", "roleArn": "arn:aws:iam::123456789012:role/OmicsRole", "outputUri": "s3://my-bucket/output/", "parameters": { "referenceUri": "s3://my-bucket/reference/genome.fasta" }, "runTags": { "analysis-type": "germline" } }, "batchRunSettings": { "inlineSettings": [ { "runSettingId": "sample-001", "name": "Sample-001-Analysis", "parameters": { "inputUri": "s3://my-bucket/input/sample-001.fastq", "sampleName": "sample-001" }, "runTags": { "patient-id": "patient001" } }, { "runSettingId": "sample-002", "name": "Sample-002-Analysis", "outputUri": "s3://my-bucket/output/special/", "parameters": { "inputUri": "s3://my-bucket/input/sample-002.fastq", "sampleName": "sample-002" }, "runTags": { "patient-id": "patient002" } } ] } }

CLI

aws omics start-run-batch \ --batch-name "genomics-cohort-analysis" \ --request-id "a1b2c3d4-e5f6-7890-abcd-ef1234567890" \ --default-run-setting '{ "workflowId": "1234567", "roleArn": "arn:aws:iam::123456789012:role/OmicsRole", "outputUri": "s3://my-bucket/output/", "storageType": "DYNAMIC", "parameters": {"referenceUri": "s3://my-bucket/reference.fasta"} }' \ --batch-run-settings '{ "inlineSettings": [ { "runSettingId": "sample-001", "name": "Run-001", "parameters": {"inputUri": "s3://my-bucket/input1.fastq"} }, { "runSettingId": "sample-002", "name": "Run-002", "parameters": {"inputUri": "s3://my-bucket/input2.fastq"} } ] }'

Kirim batch besar dengan menjalankan konfigurasi di S3

Untuk batch dengan lebih dari 100 proses, simpan konfigurasi run Anda dalam file JSON di Amazon S3 dan berikan URI menggunakans3UriSettings. File JSON harus berisi array objek pengaturan khusus run, masing-masing dengan yang unik. runSettingId File dapat berisi hingga 100.000 entri.

Format file S3 sama dengan inlineSettings array:

[ { "runSettingId": "sample-001", "name": "Sample-001-Analysis", "parameters": { "inputUri": "s3://my-bucket/input/sample-001.fastq", "sampleName": "sample-001" } }, { "runSettingId": "sample-002", "name": "Sample-002-Analysis", "parameters": { "inputUri": "s3://my-bucket/input/sample-002.fastq", "sampleName": "sample-002" } } ]

Permintaan API

{ "defaultRunSetting": { "workflowId": "1234567", "roleArn": "arn:aws:iam::123456789012:role/OmicsRole", "outputUri": "s3://my-bucket/output/", "parameters": { "referenceUri": "s3://my-bucket/reference/genome.fasta" } }, "batchRunSettings": { "s3UriSettings": "s3://my-bucket/configs/run-configs.json" } }

CLI

aws omics start-run-batch \ --default-run-setting '{ "workflowId": "1234567", "roleArn": "arn:aws:iam::123456789012:role/OmicsRole", "outputUri": "s3://my-bucket/output/", "parameters": {"referenceUri": "s3://my-bucket/reference.fasta"} }' \ --batch-run-settings '{"s3UriSettings": "s3://my-bucket/configs/run-configs.json"}'
penting

Peran layanan IAM yang ditentukan di roleArn harus memiliki akses baca ke objek Amazon S3 yang ditentukan dalams3UriSettings. HealthOmics memvalidasi akses ke file Amazon S3 selama panggilan API sinkron dan merekam eTag file. Jika file dimodifikasi setelah pengiriman, batch gagal selama pemrosesan asinkron.

Respons

Permintaan yang berhasil mengembalikan ID batch dan status awal:

{ "id": "7123456", "arn": "arn:aws:omics:us-west-2:123456789012:runBatch/7123456", "status": "CREATING", "uuid": "96c57683-74bf-9d6d-ae7e-f09b097db14a", "tags": { "project": "genomics-study", "environment": "production" } }

Jika validasi sinkron gagal (misalnya, ID alur kerja yang tidak valid atau URI Amazon S3 yang tidak dapat diakses), API mengembalikan kesalahan sebelum proses apa pun dikirimkan.

Referensi parameter

Tabel berikut menunjukkan StartRun bidang mana yang dapat diatur per run dan yang hanya berlaku pada tingkat batch. Untuk deskripsi bidang lengkap, lihat referensi StartRun API.

Bidang Batch-level (defaultRunSetting) Per-run dapat dikonfigurasi () inlineSettings
workflowIdYaTidak
workflowTypeYaTidak
workflowVersionNameYaTidak
workflowOwnerIdYaTidak
roleArnYaTidak
storageCapacityYaTidak
storageTypeYaTidak
runGroupIdYaTidak
logLevelYaTidak
cacheBehaviorYaTidak
cacheIdYaTidak
retentionModeYaTidak
networkingModeYaTidak
configurationNameYaTidak
nameYaYa
outputUriYaYa
parametersYaYa (digabungkan)
priorityYaYa
runTagsYaYa (digabungkan)
outputBucketOwnerIdYaYa
catatan

Bid runId ang (untuk proses ulang individual) tidak didukung sebagai input keStartRunBatch. Setiap pengiriman batch selalu membuat run baru, dan setiap proses akan menerima arunId. Lihat Jalankan kembali lari HealthOmics untuk mencoba lagi proses individual.

Penggabungan parameter

Parameter dari dig defaultRunSetting abungkan dengan parameter spesifik run yang disediakan di inlineSettings atau melalui URI S3. Run-specific nilai diutamakan ketika kunci tumpang tindih.

Contoh:

Sumber Parameter
defaultRunSetting {"referenceUri": "s3://bucket/ref.fasta", "version": "v1"}
inlineSettingsentri {"inputUri": "s3://bucket/sample.fastq", "version": "v2"}
Hasil gabungan {"referenceUri": "s3://bucket/ref.fasta", "inputUri": "s3://bucket/sample.fastq", "version": "v2"}

Perilaku penggabungan yang sama berlaku untukrunTags. Tag yang ditentukan dalam konfigurasi per run mengganti tag dengan kunci yang sama daridefaultRunSetting.runTags, dan kunci baru ditambahkan.

Contoh penggabungan tag:

Sumber Tanda
defaultRunSetting.runTags {"project": "cancer-research", "pipeline-version": "v2.1"}
inlineSettings[].runTags {"patient-id": "patient001", "pipeline-version": "v3.0"}
Hasil gabungan (diterapkan untuk menjalankan) {"project": "cancer-research", "patient-id": "patient001", "pipeline-version": "v3.0"}
catatan

Batch-level tag (atas StartRunBatch permintaan) hanya diterapkan ke sumber daya batch itu sendiri. Mereka tidak diwarisi oleh lari individu. Run-level tag dikontrol melalui defaultRunSetting.runTags dan per runrunTags.

Penyerahan bertahap

StartRunBatchmemvalidasi bidang umum secara sinkron dan segera kembali dengan ID batch dan status. CREATING Jalanannya dalam batch dikirimkan secara bertahap dan asinkron pada tingkat yang terkontrol sesuai dengan kuota throughput Anda.

Untuk daftar lengkap ku HealthOmics ota, lihatHealthOmics kuota layanan.

Transisi batch melalui status berikut selama pemrosesan normal:

  1. CREATING— Batch sedang dibuat.

  2. PENDING— Batch dibuat, jalankan konfigurasi yang divalidasi.

  3. SUBMITTING— Validasi selesai, proses individual diajukan.

  4. INPROGRESS— Semua kiriman run dicoba, dijalankan sedang dieksekusi.

  5. PROCESSED— Semua proses telah mencapai status terminal.

penting

Pengiriman batch run berbagi kuota StartRun throughput yang sama dengan panggilan StartRun API langsung. Jika Anda menelepon StartRun langsung saat batch besar sedang diproses, pengiriman batch dan panggilan langsung Anda bersaing untuk kapasitas yang sama. Hal ini dapat menyebabkan proses batch gagal dengan ThrottlingException (tarif terlampaui) atau StartRun panggilan langsung Anda dibatasi. Hal yang sama berlaku untuk CancelRun dan DeleteRun — kuota throughput berbagi dengan CancelRunBatch dan DeleteRunBatch masing-masing.

Memantau kemajuan batch

Dapatkan status batch

Gunakan GetBatch untuk mengambil status keseluruhan dan kemajuan pengiriman untuk batch.

aws omics get-batch --batch-id 7123456

Respons meliputi:

  • status— Status batch keseluruhan.

  • submissionSummary— Jumlah pengiriman yang berhasil dan gagal untuk operasi mulai, batalkan, dan hapus.

  • runSummary— Hitungan run di setiap status eksekusi. Nilai yang mungkin: PENDINGSTARTING,RUNNING,STOPPING,COMPLETED,DELETED,CANCELLED, atau FAILED

  • Stempel waktu untuk peristiwa siklus hidup -creationTime,,submittedTime,processedTime. failedTime

Contoh tanggapan:

{ "id": "7123456", "arn": "arn:aws:omics:us-west-2:123456789012:runBatch/7123456", "uuid": "96c57683-74bf-9d6d-ae7e-f09b097db14a", "name": "genomics-cohort-analysis", "status": "INPROGRESS", "totalRuns": 96, "defaultRunSetting": { "workflowId": "1234567", "roleArn": "arn:aws:iam::123456789012:role/OmicsRole", "outputUri": "s3://my-bucket/output/" }, "submissionSummary": { "successfulStartSubmissionCount": 94, "failedStartSubmissionCount": 2, "pendingStartSubmissionCount": 0 }, "runSummary": { "pendingRunCount": 10, "startingRunCount": 5, "runningRunCount": 50, "stoppingRunCount": 0, "completedRunCount": 29, "failedRunCount": 0, "cancelledRunCount": 0, "deletedRunCount": 0 }, "creationTime": "2025-03-15T10:00:00Z", "submittedTime": "2025-03-15T10:05:00Z", "tags": { "project": "genomics-study" } }
catatan

Ringkasan eksekusi jalankan pada akhirnya konsisten dan mungkin tertinggal dari status run aktual. Penghitungan akhir direkonsiliasi saat batch mencapai PROCESSED status.

Daftar berjalan dalam batch

Gunakan ListRunsInBatch untuk mengambil informasi terperinci untuk proses individual dalam batch. Hasil dipaginasi.

aws omics list-runs-in-batch --batch-id 7123456

Anda dapat memfilter hasil menggunakan salah satu parameter kueri berikut. Hanya satu filter per panggilan yang didukung.

Filter Deskripsi
submissionStatus Filter berdasarkan status pengiriman:SUCCESS,FAILED,CANCEL_SUCCESS,CANCEL_FAILED,DELETE_SUCCESS, atauDELETE_FAILED.
runSettingId Ambil run untuk ID pengaturan run tertentu.
runId Ambil run untuk ID run tertentu.

Contoh: Daftar pengiriman yang gagal

aws omics list-runs-in-batch --batch-id 7123456 --submission-status FAILED

Setiap hasil meliputi:

  • runSettingId— Pengidentifikasi yang disediakan pelanggan untuk konfigurasi yang dijalankan.

  • runId— Pen HealthOmics-generated gidentifikasi run (kosong jika pengiriman gagal).

  • runArn— ARN penuh lari.

  • submissionStatus— Hasil pengajuan (SUCCESS,FAILED,CANCEL_SUCCESS,CANCEL_FAILED,DELETE_SUCCESS, atauDELETE_FAILED).

  • submissionFailureReasondan submissionFailureMessage — Detail jika pengiriman gagal.

catatan

runSettingIdadalah pengenal yang ditentukan pelanggan yang Anda berikan dalam konfigurasi run. runIdadalah pengi HealthOmics-generated dentifikasi yang ditetapkan setelah pengiriman berhasil. Jika pengiriman gagal, runId kosong.

Daftar batch

Gunakan ListBatch untuk mengambil semua sumber daya batch di akun Anda. Hasil dipaginasi.

aws omics list-batch

Anda dapat memfilter hasil menggunakan parameter kueri berikut:

Filter Deskripsi
statusFilter berdasarkan status batch.
nameFilter berdasarkan nama batch.
runGroupIdFilter berdasarkan run group ID.

Aktifkan metrik jalankan

Jalankan laporan metrik mendekati pemanfaatan sumber daya real-time untuk proses dalam batch. Untuk mengaktifkan metrik jalankan, peran layanan yang Anda gunakan untuk batch harus memiliki cloudwatch:PutMetricData izin. Untuk informasi selengkapnya, lihat Menjalankan metrik untuk Alur Kerja Pribadi.

Tambahkan izin berikut ke peran layanan yang Anda gunakan untuk batch.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }

Menangani proses yang gagal

Ada dua jenis kegagalan yang berbeda dalam pemrosesan batch. Memahami perbedaannya sangat penting untuk pemecahan masalah.

Batch-level kegagalan

Kegagalan tingkat batch berarti batch itu sendiri gagal — tidak ada proses yang dibuat (atau hanya beberapa yang dibuat sebelum kegagalan). Status batch adalahFAILED.

Hu GetBatch bungi dan periksa failureReason lapangan. Alasan kegagalan umum meliputi:

Kategori kegagalan Contoh failureReason pesan Tindakan
Kesalahan validasi “Batch memiliki 100001 run tetapi 100000 run adalah maks. “, “Diharapkan 50 run unik SettingIds tetapi ada 49", “Format JSON tidak valid dalam konfigurasi yang dijalankan” Perbaiki konfigurasi dan kirimkan batch baru. Kesalahan ini tidak dapat dicoba ulang.
Konfigurasi S3 berubah “Diharapkan s3 UriConfigs etag:\" abc123\” tetapi adalah:\ "def456\”. s3 UriConfigs telah berubah sejak memanggil” StartRunBatch Jangan memodifikasi file S3 setelah pengiriman. Kirim ulang dengan file saat ini.
Kesalahan layanan sementara “Ada kesalahan sementara dalam layanan. Coba lagi batch.” Coba lagi dengan mengirimkan batch yang sama lagi. Gunakan hal yang sama requestId untuk idempotensi.

Contoh: Batch gagal karena validasi

aws omics get-batch --batch-id 7123456
{ "id": "7123456", "arn": "arn:aws:omics:us-west-2:123456789012:runBatch/7123456", "status": "FAILED", "failureReason": "Batch has 100001 runs but 100000 runs is the max.", "failedTime": "2025-03-15T10:01:00Z" }

Run-level kegagalan

Kegagalan tingkat run berarti batch itu sendiri berhasil (status adalah INPROGRESS atauPROCESSED), tetapi proses individual gagal dikirimkan. Batch terus memproses proses proses lain - tidak berhenti pada kegagalan pertama.

1. Periksa ringkasan pengiriman

aws omics get-batch --batch-id 7123456

LihatlahsubmissionSummary.failedStartSubmissionCount. Jika ini lebih besar dari nol, beberapa proses gagal selama pengiriman.

2. Daftar pengiriman yang gagal

aws omics list-runs-in-batch --batch-id 7123456 --submission-status FAILED

Setiap entri yang gagal meliputi:

  • runSettingId- Konfigurasi yang berjalan gagal.

  • submissionFailureReason- Kategori kesalahan.

  • submissionFailureMessage— Pesan kesalahan terperinci.

3. Alasan kegagalan pengiriman

Tabel berikut mencantumkan nilai yang mungkin untuk submissionFailureReason proses individual:

submissionFailureReason Arti Dicoba ulang?
ValidationException Parameter jalankan tidak valid — misalnya, parameter tidak cocok dengan definisi alur kerja, format URI S3 tidak valid, atau pelanggaran batasan. Tidak — perbaiki konfigurasi.
AccessDeniedException Peran layanan IAM tidak memiliki izin untuk mengakses sumber daya yang diperlukan (input S3, kunci KMS, CloudWatch Log, gambar ECR). Tidak — perbarui kebijakan peran.
ResourceNotFoundException Sumber daya yang direferensikan (alur kerja, grup jalankan, atau menjalankan cache) tidak ada atau tidak dalam keadaan aktif. Tidak — verifikasi ID sumber daya.
ServiceQuotaExceededException Akun telah mencapai jumlah maksimum run aktif atau kuota layanan lainnya. Tunggu proses selesai, atau minta kenaikan kuota.
ConflictException Operasi yang saling bertentangan sedang berlangsung — misalnya, upaya pembuatan run duplikat. Biasanya diselesaikan dengan sendirinya.
ThrottlingException Permintaan dibatasi karena batas tarif API. Layanan mencoba lagi secara otomatis. Jika tetap ada setelah percobaan ulang, kurangi pengiriman batch bersamaan.
RequestTimeoutException Waktu permintaan habis selama pemrosesan. Layanan mencoba lagi secara otomatis. Jika terus berlanjut, periksa masalah hilir.
InternalServerException Terjadi kesalahan layanan tak terduga. Layanan mencoba lagi secara otomatis. Jika terus berlanjut setelah percobaan ulang, hubungi AWS Dukungan.
catatan

HealthOmics secara otomatis mencoba ulang kesalahan transien (ThrottlingException,RequestTimeoutException,InternalServerException) untuk setiap proses. Run ditandai sebagai FAILED hanya setelah semua upaya coba lagi habis. Non-retryable kesalahan (ValidationException,AccessDeniedException,ResourceNotFoundException) gagal segera tanpa percobaan ulang.

4. Kirim ulang proses yang gagal

Buat batch baru yang hanya berisi konfigurasi run yang dikoreksi. Gunakan yang sama defaultRunSetting dan sertakan hanya runSettingId entri yang gagal. Tidak ada mekanisme coba ulang bawaan untuk proses yang gagal — Anda harus mengirimkan batch baru.

Membatalkan batch

Gunakan CancelRunBatch untuk membatalkan batch yang sedang berlangsung. Operasi pembatalan:

  • Mencegah proses yang belum dikirimkan dan tertunda dimulai

  • Mengi CancelRun rimkan permintaan untuk proses yang sudah dimulai.

aws omics cancel-run-batch --batch-id 7123456
penting
  • Batal hanya diperbolehkan pada batch diPENDING,SUBMITTING, atau INPROGRESS negara bagian.

  • Hanya satu operasi pembatalan atau penghapusan per batch yang diizinkan pada satu waktu.

  • Operasi Batal bersifat non-atomik dan mungkin sebagian berhasil. Gunakan GetBatch untuk meninjau successfulCancelSubmissionCount dan failedCancelSubmissionCount disubmissionSummary.

Menghapus batch run

Gunakan DeleteRunBatch untuk menghapus proses individual dalam batch.

aws omics delete-run-batch --batch-id 7123456
penting
  • Hapus hanya diperbolehkan pada batch di dalam PROCESSED atau CANCELLED negara bagian.

  • Hanya satu operasi pembatalan atau penghapusan per batch yang diizinkan pada satu waktu.

  • Operasi penghapusan bersifat non-atomik dan mungkin sebagian berhasil. Gunakan GetBatch untuk meninjau successfulDeleteSubmissionCount dan failedDeleteSubmissionCount disubmissionSummary.

Menghapus metadata batch

Gunakan DeleteBatch untuk menghapus sumber daya batch dan metadata terkait. Ini adalah operasi terpisah dariDeleteRunBatch.

aws omics delete-batch --batch-id 7123456
penting
  • DeleteBatchmengharuskan batch berada dalam status terminal (PROCESSED,, FAILEDCANCELLED,RUNS_DELETE_FAILED, atauRUNS_DELETED).

  • DeleteBatchtidak menghapus proses individual. Gunakan DeleteRunBatch terlebih dahulu jika Anda ingin menghapus run juga.

  • Setelah DeleteBatch selesai, metadata batch tidak lagi dapat diakses. Anda tidak dapat men GetBatch elepon ListRunsInBatchDeleteRunBatch,,, atau CancelRunBatch pada batch yang dihapus.

EventBridge acara untuk batch

HealthOmics mengirim acara ke Amazon EventBridge setiap kali batch mengubah status. Anda dapat menggunakan peristiwa ini untuk mengotomatiskan alur kerja—misalnya, untuk memicu pemberitahuan saat batch selesai atau gagal, atau untuk memulai pipeline hilir saat semua proses selesai.

Acara batch menggunakan bus acara dan sumber yang sama dengan HealthOmics peristiwa lainnya. Untuk petunjuk penyiapan umum, lihatMenggunakan EventBridge dengan AWS HealthOmics.

Tipe detail acara

Nama peristiwa Dipancarkan saat
RunBatch Perubahan Status Transisi batch ke status baru (CREATING,PENDING,SUBMITTING,INPROGRESS, STOPPINGCANCELLED,PROCESSED,FAILED,RUNS_DELETING,RUNS_DELETED)

Bidang detail acara

Ob detail jek dalam acara batch mencakup bidang berikut:

Bidang Tipe Deskripsi
omicsVersionString Versi skema acara (saat ini 1.0.0).
arnString Batch ARN.
batchIdString Pengidentifikasi batch.
statusString Status batch baru.
uuidString UUID batch.
batchNameString Nama batch (jika disediakan).
totalRunsString Jumlah total proses dalam batch.
failureReasonString Alasan kegagalan (hanya hadir ketika status adaFAILED).
failureMessageString Pesan kegagalan terperinci (hanya hadir ketika status adaFAILED).
successfulStartSubmissionCountString Jumlah proses yang berhasil dikirimkan.
failedStartSubmissionCountString Jumlah proses yang gagal dikirimkan.
pendingStartSubmissionCountString Jumlah run masih menunggu pengiriman.
pendingRunCountString Jumlah proses dalam keadaan tertunda.
startingRunCountString Jumlah lari dimulai.
runningRunCountString Jumlah proses yang sedang berjalan.
stoppingRunCountString Jumlah lari yang dihentikan.
completedRunCountString Jumlah run yang diselesaikan.
failedRunCountString Jumlah proses yang gagal.
cancelledRunCountString Jumlah run yang dibatalkan.
deletedRunCountString Jumlah proses yang dihapus.
workflowIdString Pengidentifikasi alur kerja.
workflowArnString Alur kerja ARN.
workflowVersionArnString Versi alur kerja ARN (jika ada).
workflowOwnerIdString ID akun pemilik alur kerja (untuk alur kerja bersama).
runCacheString Menjalankan cache ARN (jika ada).
runCacheBehaviorString Perilaku menjalankan cache (jika berlaku).

Contoh acara

Contoh: Acara yang diselesaikan secara batch

{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-example11111", "detail-type": "RunBatch Status Change", "source": "aws.omics", "account": "123456789012", "time": "2025-03-15T12:30:00Z", "region": "us-west-2", "resources": [ "arn:aws:omics:us-west-2:123456789012:runBatch/7123456" ], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:runBatch/7123456", "batchId": "7123456", "status": "PROCESSED", "uuid": "96c57683-74bf-9d6d-ae7e-f09b097db14a", "batchName": "genomics-cohort-analysis", "totalRuns": "96", "successfulStartSubmissionCount": "94", "failedStartSubmissionCount": "2", "pendingStartSubmissionCount": "0", "completedRunCount": "90", "failedRunCount": "4", "cancelledRunCount": "0", "workflowId": "1234567" } }

Contoh: Acara batch gagal

{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-example22222", "detail-type": "RunBatch Status Change", "source": "aws.omics", "account": "123456789012", "time": "2025-03-15T10:01:00Z", "region": "us-west-2", "resources": [ "arn:aws:omics:us-west-2:123456789012:runBatch/7123456" ], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:runBatch/7123456", "batchId": "7123456", "status": "FAILED", "failureReason": "VALIDATION_EXCEPTION", "failureMessage": "Expected 100 unique runSettingIds but there were 99" } }

Contoh: EventBridge aturan untuk penyelesaian batch

Pola peristiwa berikut cocok ketika batch apa pun mencapai status terminal:

{ "source": ["aws.omics"], "detail-type": ["RunBatch Status Change"], "detail": { "status": ["PROCESSED", "FAILED", "CANCELLED"] } }

Pertimbangan dan batasan

  • Kuota throughput bersama — Operasi batch berbagi kuota per akun yang sama dengan mitra API masing-masing. StartRunBatchmengkonsumsi StartRun kuota layanan. CancelRunBatchmengkonsumsi CancelRun kuota, dan DeleteRunBatch mengkonsumsi DeleteRun kuota. Hindari memanggil API run individual saat batch besar sedang berlangsung, karena ini dapat menyebabkan kegagalan pengiriman.

  • Pengiriman bertahap — Jalankan dalam batch dikirimkan secara bertahap dan asinkron sesuai dengan kuota throughput Anda.

  • Non-atomic operasi —StartRunBatch,CancelRunBatch, dan semuanya DeleteRunBatch dapat berhasil sebagian. Selalu periksa ringkasan pengiriman untuk mengidentifikasi proses yang perlu dicoba lagi.

  • Konsistensi akhir — Jalankan jumlah status eksekusi GetBatch mungkin tertinggal dari status run aktual. Penghitungan akhir akurat setelah batch mencapaiPROCESSED.

  • Filter tunggal per panggilan daftar — ListRunsInBatch dan hanya ListBatch mendukung satu filter per panggilan API.

  • Re-run tidak didukung — Bid runId ang (jalankan ulang) tidak didukung diStartRunBatch. Setiap pengiriman batch selalu membuat proses baru.

  • Alur kerja Ready2Run — Batch run tidak didukung dengan alur kerja Ready2Run.

  • Batas konfigurasi sebaris — Konfigurasi sebaris (inlineSettings) mendukung hingga 100 entri. Untuk batch yang lebih besar, gunakans3UriSettings. Batas ini tidak dapat disesuaikan.

  • File konfigurasi S3 — File konfigurasi S3 harus berupa array JSON dari objek pengaturan yang dijalankan. Ukuran file maksimum adalah 6 GB, mendukung hingga 100.000 konfigurasi yang dijalankan.

  • Kekekalan file S3 - Jangan memodifikasi file konfigurasi S3 setelah mengirimkan batch. HealthOmics memvalidasi tag entitas file (ETag) selama pengiriman dan gagal dalam batch jika file telah berubah.