Menggunakan ekspresi cron dan rate untuk menjadwalkan aturan di Amazon EventBridge - Amazon EventBridge

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

Menggunakan ekspresi cron dan rate untuk menjadwalkan aturan di Amazon EventBridge

Bila Anda membuat aturan terjadwal di EventBridge Anda dapat menentukan pola jadwal yang menentukan kapan EventBridge menjalankan aturan:

  • Gunakan ekspresi cron untuk menjalankan aturan pada waktu dan tanggal tertentu.

  • Gunakan ekspresi tingkat untuk menjalankan aturan secara berkala.

Ekspresi Cron

Ekspresi cron memiliki enam bidang yang diperlukan, yang dipisahkan oleh spasi putih.

Sintaksis

cron(fields)
Bidang Nilai-nilai Wildcard

Menit

0-59

, - * /

Jam

0-23

, - * /

D ay-of-month

1-31

, - * ? / L W

Bulan

1-12 atau JAN - DEC

, - * /

D ay-of-week

1-7 atau SUN - SAT

, - * ? L #

Tahun

1970-2199

, - * /

Wildcard
  • Wildcard , (koma) mencakup nilai tambahan. Di bidang Bulan,, JANFEB, MAR termasuk Januari, Februari, dan Maret.

  • Wildcard - (tanda hubung) menentukan rentang. Di bidang Tanggal, 1-15 mencakup tanggal 1 hingga 15 pada bulan yang ditentukan.

  • Wildcard * (bintang) mencakup semua nilai di bidang. Di bidang Jam, * mencakup setiap jam. Anda tidak dapat menggunakan* di ay-of-week bidang D ay-of-month dan D. Jika Anda menggunakannya di satu bidang, Anda harus menggunakan ? di bidang lain.

  • Wildcard / (garis miring) menentukan kenaikan. Di bidang menit, Anda bisa memasukkan 1/10 untuk menentukan setiap menit kesepuluh, mulai dari menit pertama jam (sebagai contoh, menit ke-11, 21, dan 31, dan seterusnya).

  • Wildcard ? (tanda tanya) menentukan pilihan apa pun. Di ay-of-month bidang D Anda bisa memasukkan 7 dan jika ada hari dalam seminggu yang dapat diterima, Anda bisa masuk? di ay-of-week bidang D.

  • Wildcard L di ay-of-week bidang D ay-of-month atau D menentukan hari terakhir bulan atau minggu.

  • WWildcard di ay-of-month bidang D menentukan hari kerja. Di ay-of-month bidang D, 3W tentukan hari kerja yang paling dekat dengan hari ketiga bulan itu.

  • Wildcard # di ay-of-week bidang D menentukan contoh tertentu dari hari yang ditentukan dalam seminggu dalam sebulan. Sebagai contoh, 3#2 akan menjadi hari Selasa kedua setiap bulan: 3 mengacu pada hari Selasa karena itu adalah hari ketiga setiap minggu, dan 2 mengacu pada hari kedua dari jenis tersebut dalam bulan tersebut.

    catatan

    Jika Anda menggunakan karakter '#', Anda hanya dapat menentukan satu ekspresi di day-of-week bidang. Sebagai contoh, "3#1,6#3" tidak valid karena ditafsirkan sebagai dua ekspresi.

Batasan
  • Anda tidak dapat menentukan ay-of-week bidang D ay-of-month dan D dalam ekspresi cron yang sama. Jika Anda menentukan nilai atau * (bintang) di salah satu bidang, Anda harus menggunakan ? (tanda tanya) di bidang lain.

  • Ekspresi cron yang mengarah ke tingkat lebih cepat dari 1 menit tidak didukung.

Contoh

Anda dapat menggunakan contoh string cron berikut saat membuat aturan dengan jadwal.

Menit Jam Hari dalam sebulan Bulan Hari dalam seminggu Tahun Arti

0

10

*

*

?

*

Jalankan pukul 10:00 pagi (UTC+0) setiap hari

15

12

*

*

?

*

Jalankan pukul 12:15 siang (UTC+0) setiap hari

0

18

?

*

MON-FRI

*

Jalankan pukul 6:00 sore (UTC+0) setiap Senin sampai Jumat

0

8

1

*

?

*

Jalankan pukul 8:00 pagi (UTC+0) setiap hari pertama setiap bulan

0/15

*

*

*

?

*

Jalankan setiap 15 menit

0/10

*

?

*

MON-FRI

*

Jalankan setiap 10 menit Senin hingga Jumat

0/5

8-17

?

*

MON-FRI

*

Jalankan setiap 5 menit Senin sampai Jumat antara pukul 8:00 pagi dan 17:55 sore (UTC+0)

0/30

20-2

?

*

MON-FRI

*

Jalankan setiap 30 menit Senin sampai Jumat antara pukul 10:00 malam pada hari mulai hingga 2:00 pagi pada hari berikutnya () UTC

Jalankan dari pukul 12:00 hingga 2:00 pagi pada Senin pagi ()UTC.

Contoh berikut membuat aturan yang berjalan setiap hari pada pukul 12:00 UTC +0.

aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --name MyRule1

Contoh berikut membuat aturan yang berjalan setiap hari, pada pukul 14:05 dan 14:35 +0. UTC

aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --name MyRule2

Contoh berikut membuat aturan yang berjalan pada pukul 10:15 UTC +0 pada hari Jumat terakhir setiap bulan selama tahun 2019 hingga 2022.

aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2019-2022)" --name MyRule3

Ekspresi rate

Ekspresi tingkat dimulai ketika Anda membuat aturan acara terjadwal, dan kemudian aturan berjalan pada jadwal yang ditetapkan.

Ekspresi tingkat memiliki dua bidang yang diperlukan, yang dipisahkan oleh spasi putih.

Sintaksis

rate(value unit)
nilai

Bilangan positif

unit

Unit waktu. Unit yang berbeda diperlukan untuk nilai 1, seperti minute, dan nilai lebih dari 1, seperti minutes.

Nilai yang valid: menit | menit-menit | jam | jam-jam | hari | hari-hari

Batasan

Jika nilai sama dengan 1, maka unit harus tunggal. Jika nilai lebih besar dari 1, unit harus jamak. Misalnya, tingkat(1 jam-jam) dan tarif(5 jam) tidak valid, tetapi tarif (1 jam) dan tarif(5 jam-jam) berlaku.

Contoh

Contoh berikut menunjukkan cara menggunakan ekspresi tingkat dengan AWS CLI put-rule perintah. Contoh pertama memicu aturan setiap menit, yang berikutnya memicunya setiap lima menit, contoh ketiga memicunya sekali dalam satu jam, dan contoh terakhir memicunya sekali sehari.

aws events put-rule --schedule-expression "rate(1 minute)" --name MyRule2
aws events put-rule --schedule-expression "rate(5 minutes)" --name MyRule3
aws events put-rule --schedule-expression "rate(1 hour)" --name MyRule4
aws events put-rule --schedule-expression "rate(1 day)" --name MyRule5