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.
Topik
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 memetrunSettingIdakan masing-masing ke HealthOmics-generatedrunId, 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 (
runTagsdalamdefaultRunSettingdan 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 → Diizinkantags: {"environment": "production"}pada batch → Ditolak (403)runTags: {"environment": "production"}didefaultRunSetting→ 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-id7123456
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-id7123456
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-id7123456--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, gunakanengineSettingsuntuk 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 mencakupengineSettingsuntuk 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 |
|---|---|---|
workflowId | Ya | Tidak |
workflowType | Ya | Tidak |
workflowVersionName | Ya | Tidak |
workflowOwnerId | Ya | Tidak |
roleArn | Ya | Tidak |
storageCapacity | Ya | Tidak |
storageType | Ya | Tidak |
runGroupId | Ya | Tidak |
logLevel | Ya | Tidak |
cacheBehavior | Ya | Tidak |
cacheId | Ya | Tidak |
retentionMode | Ya | Tidak |
networkingMode | Ya | Tidak |
configurationName | Ya | Tidak |
name | Ya | Ya |
outputUri | Ya | Ya |
parameters | Ya | Ya (digabungkan) |
priority | Ya | Ya |
runTags | Ya | Ya (digabungkan) |
outputBucketOwnerId | Ya | Ya |
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:
CREATING— Batch sedang dibuat.PENDING— Batch dibuat, jalankan konfigurasi yang divalidasi.SUBMITTING— Validasi selesai, proses individual diajukan.INPROGRESS— Semua kiriman run dicoba, dijalankan sedang dieksekusi.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-id7123456
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, atauFAILEDStempel 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-id7123456
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-id7123456--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).submissionFailureReasondansubmissionFailureMessage— 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 |
|---|---|
status | Filter berdasarkan status batch. |
name | Filter berdasarkan nama batch. |
runGroupId | Filter 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-id7123456
{ "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-id7123456
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-id7123456--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-id7123456
penting
Batal hanya diperbolehkan pada batch di
PENDING,SUBMITTING, atauINPROGRESSnegara 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
successfulCancelSubmissionCountdanfailedCancelSubmissionCountdisubmissionSummary.
Menghapus batch run
Gunakan DeleteRunBatch untuk menghapus proses individual dalam batch.
aws omics delete-run-batch --batch-id7123456
penting
Hapus hanya diperbolehkan pada batch di dalam
PROCESSEDatauCANCELLEDnegara 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
successfulDeleteSubmissionCountdanfailedDeleteSubmissionCountdisubmissionSummary.
Menghapus metadata batch
Gunakan DeleteBatch untuk menghapus sumber daya batch dan metadata terkait. Ini adalah operasi terpisah dariDeleteRunBatch.
aws omics delete-batch --batch-id7123456
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 |
|---|---|---|
omicsVersion | String | Versi skema acara (saat ini 1.0.0). |
arn | String | Batch ARN. |
batchId | String | Pengidentifikasi batch. |
status | String | Status batch baru. |
uuid | String | UUID batch. |
batchName | String | Nama batch (jika disediakan). |
totalRuns | String | Jumlah total proses dalam batch. |
failureReason | String | Alasan kegagalan (hanya hadir ketika status adaFAILED). |
failureMessage | String | Pesan kegagalan terperinci (hanya hadir ketika status adaFAILED). |
successfulStartSubmissionCount | String | Jumlah proses yang berhasil dikirimkan. |
failedStartSubmissionCount | String | Jumlah proses yang gagal dikirimkan. |
pendingStartSubmissionCount | String | Jumlah run masih menunggu pengiriman. |
pendingRunCount | String | Jumlah proses dalam keadaan tertunda. |
startingRunCount | String | Jumlah lari dimulai. |
runningRunCount | String | Jumlah proses yang sedang berjalan. |
stoppingRunCount | String | Jumlah lari yang dihentikan. |
completedRunCount | String | Jumlah run yang diselesaikan. |
failedRunCount | String | Jumlah proses yang gagal. |
cancelledRunCount | String | Jumlah run yang dibatalkan. |
deletedRunCount | String | Jumlah proses yang dihapus. |
workflowId | String | Pengidentifikasi alur kerja. |
workflowArn | String | Alur kerja ARN. |
workflowVersionArn | String | Versi alur kerja ARN (jika ada). |
workflowOwnerId | String | ID akun pemilik alur kerja (untuk alur kerja bersama). |
runCache | String | Menjalankan cache ARN (jika ada). |
runCacheBehavior | String | 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 mencapai
PROCESSED.Filter tunggal per panggilan daftar — ListRunsInBatch dan hanya ListBatch mendukung satu filter per panggilan API.
Re-run tidak didukung — Bid
runIdang (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.