Ekspresi Jadwal untuk Aturan - Amazon CloudWatch Events

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

Ekspresi Jadwal untuk Aturan

catatan

Amazon EventBridge adalah cara pilihan untuk mengelola peristiwa Anda. CloudWatch Events dan EventBridge adalah layanan dan API dasar yang sama, tetapi EventBridge menyediakan lebih banyak fitur. Perubahan yang Anda buat di CloudWatch atau EventBridge akan muncul di setiap konsol. Untuk informasi selengkapnya, lihat Amazon EventBridge.

Anda juga dapat membuat aturan yang memicu sendiri jadwal yang terotomatisasi di CloudWatch Events menggunakan ekspresi cron atau rate. Semua peristiwa yang dijadwalkan menggunakan zona waktu UTC, dan presisi minimum untuk jadwal adalah satu menit.

CloudWatch Events mendukung ekspresi cron dan ekspresi rate. Ekspresi rate lebih sederhana untuk ditentukan tetapi tidak menawarkan kontrol jadwal detail yang didukung ekspresi cron. Sebagai contoh, dengan ekspresi cron, Anda dapat menentukan aturan yang memicu pada waktu tertentu pada hari tertentu setiap minggu atau bulan. Sebaliknya, ekspresi rate memicu aturan pada tingkat reguler, seperti sekali setiap jam atau sekali setiap hari.

catatan

CloudWatch Events tidak memberikan presisi tingkat kedua dalam ekspresi jadwal. Resolusi terbaik untuk penggunaan ekspresi cron adalah satu menit. Karena sifat terdistribusi CloudWatch Events dan layanan target, dapat terjadi penundaan beberapa detik antara waktu ketika aturan yang dijadwalkan dipicu dan waktu ketika layanan target menjalankan sumber daya target. Aturan terjadwal Anda akan dipicu di menit itu tetapi tidak tepat pada detik ke-0.

Ekspresi Cron

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

Sintaks

cron(fields)
Bidang Nilai Wildcard

Menit

0-59

, - * /

Jam

0-23

, - * /

Tanggal

1-31

, - * ? / L W

Bulan

1-12 atau JAN-DES

, - * /

Hari

1-7 atau MGG-SBT

, - * ? L #

Tahun

1970-2199

, - * /

Wildcard
  • Wildcard , (koma) mencakup nilai tambahan. Di field Bulan, JAN, FEB, MAR akan mencakup Januari, Februari, dan Maret.

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

  • Wildcard * (bintang) mencakup semua nilai di bidang. Di field Jam, * akan mencakup setiap jam. Anda tidak dapat menggunakan * di field Tanggal dan Hari secara bersamaan. Jika Anda menggunakannya di satu bidang, Anda harus menggunakan ? di bidang lain.

  • Wildcard / (garis miring) menentukan tambahan. 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 satu atau yang lain. Pada field Hari, Anda dapat memasukkan 7 dan jika Anda tidak memedulikan tanggal 7 jatuh pada hari apa, Anda dapat memasukkan ? di field Hari.

  • Wildcard L di bidang Tanggal atau Hari menentukan hari terakhir pada bulan atau minggu.

  • Wildcard W di bidang Tanggal menentukan hari kerja. Di bidang Tanggal, 3W menentukan hari kerja yang paling dekat dengan hari ketiga pada bulan.

  • Wildcard # di bidang Hari menentukan instans tertentu dari hari tertentu dalam satu minggu dalam satu bulan. 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 bidang hari. Sebagai contoh, "3#1,6#3" tidak valid karena ditafsirkan sebagai dua ekspresi.

Pembatasan
  • Anda tidak dapat menentukan bidang Tanggal dan Hari dalam ekspresi cron yang sama. Jika Anda menentukan nilai (atau *) di salah satu field, Anda harus menggunakan ? (tanda tanya) di field 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 pada pukul 10:00 pagi (UTC) setiap hari

15

12

*

*

?

*

Jalankan pada pukul 12.15 (UTC) setiap hari

0

18

?

*

MON-FRI

*

Jalankan pada pukul 18.00 (UTC) setiap Senin hingga Jumat

0

8

1

*

?

*

Jalankan pada pukul 08.00 (UTC) setiap tanggal 1 pada bulan tersebut

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 hingga Jumat antara pukul 08.00 dan 17.55 (UTC)

Contoh-contoh berikut menunjukkan cara menggunakan ekspresi Cron dengan perintah AWS CLI put-rule. Contoh pertama ini membuat aturan yang dipicu setiap hari pada pukul 12:00 siang UTC.

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

Contoh pertama ini membuat aturan yang dipicu setiap hari pada pukul 2:05 dan 2:35 siang UTC.

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

Contoh berikut membuat aturan yang dipicu pada pukul 10:15 UTC pada hari Jumat terakhir setiap bulan selama tahun 2002 hingga 2005.

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

Ekspresi Rate

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

Ekspresi rate memiliki dua field wajib berikut. Field dipisahkan oleh white space.

Sintaks

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

Pembatasan

Jika nilai sama dengan 1, unit harus tunggal. Demikian pula, untuk nilai lebih besar dari 1, unit harus jamak. Misalnya, rate(1 jam) dan rate (5 jam) tidak valid, tetapi rate (1 jam) dan rate(5 jam) valid.

Contoh

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

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