Aturan peristiwa AWS Cloudwatch: Waktu mulai dan berhenti

Apakah mungkin untuk menetapkan waktu mulai dan berhenti aturan acara cloudwatch? Kasus Penggunaan - Saya ingin membuat aturan yang memicu lambda, tetapi saya ingin aturan itu dijalankan pada tanggal tertentu (setiap 2 menit) dan menonaktifkannya pada tanggal lain (interval tanggal ini dapat berlangsung selama beberapa bulan).

Sejauh yang saya tahu, saat kita membuat aturan (rate (2 menit)), aturan tersebut langsung berjalan. Saya dapat menggunakan pendekatan ini dan di lambda saya dapat memeriksa apakah tanggal saat ini sama dengan tanggal target dan melanjutkan dengan eksekusi lambda, dan menonaktifkan aturan ketika tanggal saat ini lebih besar dari tanggal akhir. Meskipun ini mungkin berhasil tetapi tampaknya ini bukan pendekatan yang tepat karena lambda tidak perlu dijalankan hingga tanggal target.

Apakah ada cara saya bisa mencapai hal yang sama tanpa peretasan?


person TA-    schedule 24.09.2020    source sumber


Jawaban (1)


Ya, Anda dapat menyetelnya ke tanggal tertentu saja. Misalnya aturan berikut 0/2 0 28 9 ? 2020 akan dijalankan setiap 2 menit pada 28 Sep 2020 saja:

masukkan deskripsi gambar di sini

Memperbarui

Untuk menjangkau beberapa bulan, saya pikir Anda memerlukan aturan terpisah. Misalnya, Anda dapat menentukan dua aturan untuk rentang tanggal 28 Sep hingga selesai 5 Okt: 0/2 0 28-31 9 ? 2020 dan 0/2 0 1-5 10 ? 2020.

person Marcin    schedule 24.09.2020
comment
Bagaimana jika saya ingin memulai pekerjaan pada - 28 September dan ingin menghentikannya pada tanggal 5 Oktober? Saya mencoba ekspresi cron ini (0 0/24 28-5 9-10 ? 2020) tetapi juga memberikan pemicu berikut tanggal bulan depan [Wed, 28 Oct 2020 00:00:00 GMT Thu, 29 Oct 2020 00:00:00 GMT Fri, 30 Oct 2020 00:00:00 GMT Sat, 31 Oct 2020 00:00:00 GMT] Apakah mungkin untuk menghentikan pemicu pada tanggal 5 dan tidak ada lagi pemicu berikutnya? - person TA-; 24.09.2020
comment
@TA- Bisakah Anda mengedit pertanyaan Anda dan memperjelas apa yang Anda inginkan? Seperti yang tertulis sekarang, ini menunjukkan bahwa Anda hanya menginginkan satu hari pada tanggal tertentu (setiap 2 menit) dan menonaktifkannya di akhir tanggal tertentu., bukan rentang tanggal atau kombinasi tanggal yang berbeda. Dalam kasus terburuk, Anda dapat membuat beberapa aturan untuk tanggal berbeda. - person Marcin; 24.09.2020
comment
Memperbarui pertanyaan saya - person TA-; 24.09.2020
comment
@TA- Saya rasa Anda tidak dapat menjangkau beberapa bulan. Saya memperbarui jawabannya. Anda perlu menentukan dua aturan untuk merentangkan rentang tanggal selama dua bulan, misalnya. mulai 28 Sep dan selesai 15 Okt: 0/2 0 28-31 9 ? 2020 dan 0/2 0 1-15 10 ? 2020. - person Marcin; 24.09.2020