View a markdown version of this page

Tentukan konfigurasi pekerjaan dengan menggunakan AWS IoT API Tugas - AWS IoT Core

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

Tentukan konfigurasi pekerjaan dengan menggunakan AWS IoT API Tugas

Anda dapat menggunakan CreateJob atau CreateJobTemplate API untuk menentukan konfigurasi pekerjaan yang berbeda. Bagian berikut menjelaskan cara menambahkan konfigurasi ini. Setelah Anda menambahkan konfigurasi, Anda dapat menggunakan JobExecutionSummary dan JobExecutionSummaryForJob untuk melihat statusnya.

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

Konfigurasi peluncuran

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

  • Tetapkan tingkat peluncuran konstan

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

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

    Untuk mengatur tingkat peluncuran pekerjaan variabel, gunakan JobExecutionsRolloutConfig objek. 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:

dasar RatePerMinute

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

Faktor kenaikan

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

nilai IncreaseCriteria

Menentukan numberOfSucceededThings ambang numberOfNotifiedThings atau.

Batalkan konfigurasi

Untuk menambahkan konfigurasi ini dengan menggunakan API, tent AbortConfig ukan parameter saat Anda menjalankan CreateJob, atau operasi CreateJobTemplate API. Contoh berikut menunjukkan konfigurasi pembatalan untuk peluncuran pekerjaan yang mengalami beberapa eksekusi gagal, seperti yang ditentukan dengan operasi CreateJob API.

catatan

Menghapus eksekusi pekerjaan mempengaruhi nilai komputasi dari total eksekusi selesai. Saat pekerjaan dibatalkan, layanan membuat pembatalan otomatis comment dan membedakan pembat reasonCode alan berbasis 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 akan diambil ketika kriteria pembatalan telah terpenuhi. Parameter ini diperlukan, dan CANCEL merupakan satu-satunya nilai yang valid.

Jenis kegagalan

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

min NumberOfExecutedThings

Menentukan jumlah eksekusi pekerjaan yang diselesaikan yang harus terjadi sebelum kriteria pembatalan pekerjaan terpenuhi. Dalam contoh ini, AWS IoT tidak memeriksa apakah pembatalan pekerjaan harus terjadi sampai setidaknya 100 perangkat menyelesaikan eksekusi pekerjaan.

Persentase ambang batas

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

Konfigurasi penjadwalan

Untuk menambahkan konfigurasi ini dengan menggunakan API, tentukan opsional SchedulingConfig saat Anda menjalankan CreateJob, atau operasi CreateJobTemplate API.

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

Dimana parameternya:

startTime

Menentukan tanggal dan waktu ketika pekerjaan akan dimulai.

Waktu Akhir

Menentukan tanggal dan waktu kapan pekerjaan akan berakhir.

PemeliharaanWindows

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

Perilaku Akhir

Menentukan perilaku pekerjaan untuk pekerjaan yang dijadwalkan setelah mencapaiendTime.

catatan

Opsional SchedulingConfig untuk pekerjaan dapat dilihat di DescribeJobTemplate API DescribeJob dan.

Konfigurasi waktu habis

Untuk menambahkan konfigurasi ini dengan menggunakan API, tent TimeoutConfig ukan parameter saat Anda menjalankan CreateJob, atau operasi CreateJobTemplate API.

Untuk menggunakan konfigurasi batas waktu

  1. Untuk mengatur timer dalam proses saat Anda membuat pekerjaan atau template pekerjaan, tetapkan nilai untuk inProgressTimeoutInMinutes properti TimeoutConfig objek opsional.

    "timeoutConfig": { "inProgressTimeoutInMinutes": number }
  2. Untuk menentukan pengatur waktu langkah untuk eksekusi pekerjaan, tetapkan nilai stepTimeoutInMinutes saat Anda memanggil UpdateJobExecution. Timer 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 penghitung waktu langkah yang sudah dibuat dengan membuat timer langkah baru dengan nilai -1.

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

Coba lagi konfigurasi

catatan

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

Untuk menambahkan konfigurasi ini dengan menggunakan API, tent jobExecutionsRetryConfig ukan parameter saat Anda menjalankan CreateJob, atau operasi CreateJobTemplate API.

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

Dim ana CriteriaList adalah array yang menentukan daftar kriteria yang menentukan jumlah percobaan ulang yang diizinkan untuk setiap jenis kegagalan untuk pekerjaan.