Menentukan konfigurasi pekerjaan dengan menggunakan AWS IoT Jobs API - AWS IoT Core

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

Menentukan konfigurasi pekerjaan dengan menggunakan AWS IoT Jobs API

Anda dapat menggunakan CreateJobatau CreateJobTemplateAPI untuk menentukan konfigurasi pekerjaan yang berbeda. Bagian berikut menjelaskan cara menambahkan konfigurasi ini. Setelah menambahkan konfigurasi, Anda dapat menggunakan JobExecutionSummarydan JobExecutionSummaryForJobmelihat statusnya.

Untuk informasi selengkapnya tentang konfigurasi yang berbeda dan cara kerjanya, lihatCara kerja konfigurasi pekerjaan.

Konfigurasi peluncuran

Anda dapat menentukan tingkat peluncuran konstan atau tingkat peluncuran eksponensial untuk konfigurasi peluncuran Anda.

  • Tetapkan tingkat peluncuran konstan

    Untuk menetapkan tingkat peluncuran konstan, gunakan JobExecutionsRolloutConfigobjek untuk menambahkan maximumPerMinute parameter ke permintaan. CreateJob Parameter ini menentukan batas atas tingkat di mana eksekusi pekerjaan dapat terjadi. Nilai ini opsional dan berkisar dari 1 hingga 1000. Jika Anda tidak menetapkan nilai, itu menggunakan 1000 sebagai nilai default.

    "jobExecutionsRolloutConfig": { "maximumPerMinute": 1000 }
  • Tetapkan tingkat peluncuran eksponensial

    Untuk menetapkan tingkat peluncuran pekerjaan variabel, gunakan objek. JobExecutionsRolloutConfig Anda dapat mengonfigurasi ExponentialRolloutRate properti saat menjalankan operasi CreateJob API. Contoh berikut menetapkan tingkat peluncuran eksponensial dengan menggunakan parameter. exponentialRate Untuk informasi tentang parameter, lihat ExponentialRolloutRate.

    { ... "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": 50, "incrementFactor": 2, "rateIncreaseCriteria": { "numberOfNotifiedThings": 1000, "numberOfSucceededThings": 1000 }, "maximumPerMinute": 1000 } } ... }

Dimana parameternya:

baseRatePerMenit

Menentukan tingkat di mana pekerjaan dieksekusi sampai numberOfSucceededThings ambang batas numberOfNotifiedThings atau telah terpenuhi.

IncrementFactor

Menentukan faktor eksponensial dimana tingkat peluncuran meningkat setelah ambang batas numberOfNotifiedThings atau numberOfSucceededThings terpenuhi.

rateIncreaseCriteria

Menentukan baik numberOfNotifiedThings atau numberOfSucceededThings ambang batas.

Batalkan konfigurasi

Untuk menambahkan konfigurasi ini dengan menggunakan API, tentukan AbortConfigparameter saat Anda menjalankan CreateJob, atau operasi CreateJobTemplateAPI. Contoh berikut menunjukkan konfigurasi abort untuk peluncuran pekerjaan yang mengalami beberapa eksekusi gagal, seperti yang ditentukan dengan operasi API. CreateJob

catatan

Menghapus eksekusi pekerjaan memengaruhi nilai komputasi dari total eksekusi yang diselesaikan. Ketika pekerjaan dibatalkan, layanan membuat otomatis comment dan reasonCode untuk membedakan pembatalan yang digerakkan pengguna dari pembatalan pembatalan pekerjaan.

"abortConfig": { "criteriaList": [ { "action": "CANCEL", "failureType": "FAILED", "minNumberOfExecutedThings": 100, "thresholdPercentage": 20 }, { "action": "CANCEL", "failureType": "TIMED_OUT", "minNumberOfExecutedThings": 200, "thresholdPercentage": 50 } ] }

Dimana parameternya:

aksi

Menentukan tindakan yang harus diambil ketika kriteria abort telah dipenuhi. Parameter ini diperlukan, dan CANCEL merupakan satu-satunya nilai yang valid.

FailureType

Menentukan jenis kegagalan yang harus memulai pekerjaan abort. Nilai yang valid adalah FAILED, REJECTED, TIMED_OUT, dan ALL.

minNumberOfExecutedThings

Menentukan jumlah eksekusi pekerjaan selesai yang harus terjadi sebelum kriteria pembatalan pekerjaan telah dipenuhi. Dalam contoh ini, AWS IoT tidak memeriksa untuk melihat apakah pembatalan pekerjaan harus terjadi sampai setidaknya 100 perangkat telah menyelesaikan eksekusi pekerjaan.

ThresholdPercentage

Menentukan jumlah total hal-hal yang pekerjaan dieksekusi yang dapat memulai pekerjaan abort. Dalam contoh ini, AWS IoT memeriksa secara berurutan dan memulai pembatalan pekerjaan jika persentase ambang terpenuhi. Jika setidaknya 20% dari eksekusi lengkap gagal setelah 100 eksekusi selesai, itu membatalkan peluncuran pekerjaan. Jika kriteria ini tidak terpenuhi, AWS IoT maka periksa apakah setidaknya 50% dari eksekusi selesai habis setelah 200 eksekusi selesai. Jika ini masalahnya, itu membatalkan peluncuran pekerjaan.

Konfigurasi penjadwalan

Untuk menambahkan konfigurasi ini dengan menggunakan API, tentukan opsional SchedulingConfigsaat Anda menjalankan CreateJob, atau operasi CreateJobTemplateAPI.

"SchedulingConfig": { "endBehavior": string "endTime": string "maintenanceWindows": string "startTime": string }

Dimana parameternya:

startTime

Menentukan tanggal dan waktu ketika pekerjaan akan dimulai.

EndTime

Menentukan tanggal dan waktu ketika pekerjaan akan berakhir.

PemeliharaanWindows

Menentukan apakah jendela pemeliharaan opsional dipilih untuk pekerjaan terjadwal untuk meluncurkan dokumen pekerjaan ke semua perangkat dalam grup target. Format string untuk maintenanceWindow adalah YYYY/MM/DD untuk tanggal dan hh: mm untuk waktu.

EndBehavior

Menentukan perilaku pekerjaan untuk pekerjaan terjadwal setelah mencapai. endTime

catatan

Opsional SchedulingConfig untuk pekerjaan dapat dilihat di DescribeJobTemplateAPI DescribeJobdan.

Konfigurasi waktu habis

Untuk menambahkan konfigurasi ini dengan menggunakan API, tentukan TimeoutConfigparameter saat Anda menjalankan CreateJob, atau operasi CreateJobTemplateAPI.

Untuk menggunakan konfigurasi batas waktu

  1. Untuk mengatur timer yang sedang berlangsung saat Anda membuat templat pekerjaan atau pekerjaan, tetapkan nilai untuk inProgressTimeoutInMinutes properti TimeoutConfigobjek opsional.

    "timeoutConfig": { "inProgressTimeoutInMinutes": number }
  2. Untuk menentukan pengatur waktu langkah untuk eksekusi pekerjaan, tetapkan nilai stepTimeoutInMinutes saat Anda menelepon UpdateJobExecution. Pengatur waktu langkah hanya berlaku untuk eksekusi pekerjaan yang Anda perbarui. Anda dapat menetapkan nilai baru untuk timer ini setiap kali Anda memperbarui eksekusi pekerjaan.

    catatan

    UpdateJobExecutiondapat membuang pengatur waktu langkah yang sudah dibuat dengan membuat pengatur waktu langkah baru dengan nilai -1.

    { ... "statusDetails": { "string" : "string" }, "stepTimeoutInMinutes": number }
  3. Untuk membuat pengatur waktu langkah baru, Anda juga dapat memanggil operasi StartNextPendingJobExecutionAPI.

Coba lagi konfigurasi

catatan

Saat Anda membuat pekerjaan, pertimbangkan jumlah percobaan ulang yang sesuai untuk digunakan untuk konfigurasi Anda. Untuk menghindari timbulnya biaya berlebih karena potensi kegagalan coba lagi, tambahkan konfigurasi batal. Setelah pekerjaan dibuat, jumlah percobaan ulang tidak dapat diperbarui. Anda hanya dapat mengatur jumlah percobaan ulang ke 0 dengan menggunakan operasi UpdateJobAPI.

Untuk menambahkan konfigurasi ini dengan menggunakan API, tentukan jobExecutionsRetryConfigparameter saat Anda menjalankan CreateJob, atau operasi CreateJobTemplateAPI.

{ ... "jobExecutionsRetryConfig": { "criteriaList": [ { "failureType": "string", "numberOfRetries": number } ] } ... }

Di mana Criterialist adalah array yang menentukan daftar kriteria yang menentukan jumlah percobaan ulang yang diizinkan untuk setiap jenis kegagalan untuk pekerjaan.