Menjalankan Azure Function pada jadwal
Adalah hal umum untuk menjalankan bagian logika pada interval yang ditetapkan. Bayangkan Anda adalah pemilik blog, dan Anda melihat bahwa pelanggan Anda tidak membaca posting terbaru Anda. Anda memutuskan bahwa tindakan terbaik adalah mengirim email seminggu sekali sebagai pengingat pelanggan untuk memeriksa blog Anda. Anda menerapkan logika ini dengan membuat aplikasi fungsi di Azure dengan pemicu timer untuk memanggil fungsi Anda setiap minggu.
Apa itu pemicu timer?
Pemicu timer adalah pemicu yang menjalankan fungsi pada interval yang konsisten. Untuk membuat pemicu timer, Anda harus menyediakan dua bagian informasi.
- Nama parameter tanda waktu, yang hanya merupakan pengidentifikasi untuk mengakses pemicu dalam kode.
- Jadwal, yang merupakan ekspresi CRON yang mengatur interval untuk timer.
Apa itu ekspresi CRON?
Ekspresi CRON adalah untai yang terdiri dari enam bidang yang mewakili set waktu.
Urutan enam bidang di Azure adalah: {second} {minute} {hour} {day} {month} {day of the week}
.
Misalnya, ekspresi CRON untuk membuat pemicu yang dieksekusi setiap lima menit terlihat seperti: 0 */5 * * * *
Pada awalnya, string ini mungkin terlihat membingungkan. Kita akan kembali dan uraikan konsep-konsep ini ketika kita melihat lebih dalam ekspresi CRON.
Untuk membangun ekspresi CRON, Anda harus memiliki pemahaman dasar tentang beberapa karakter khusus.
Karakter khusus | Makna | Contoh |
---|---|---|
* | Memilih setiap nilai dalam bidang | Tanda bintang "*" di hari pada bidang minggu berarti setiap hari. |
, | Memisahkan item dalam daftar | Koma "1,3" di hari pada bidang minggu berarti hanya Senin (hari ke-1) dan Rabu (hari ke-3). |
- | Menentukan rentang | Tanda hubung "10-12" di bidang jam berarti rentang yang mencakup pukul 10, 11, dan 12. |
/ | Menentukan tahapan | Garis miring "*/10" di bidang menit berarti kenaikan setiap 10 menit. |
Sekarang kita akan kembali ke contoh ekspresi CRON asli. Mari kita coba untuk memahaminya lebih baik dengan menguraikannya bidang demi bidang.
0 */5 * * * *
Bidang pertama mewakili detik. Bidang ini mendukung nilai 0-59. Karena bidang berisi nol, ini memilih nilai pertama yang memungkinkan, yaitu satu detik.
Bidang kedua mewakili menit. Nilai "*/5" berisi dua karakter khusus. Pertama, tanda bintang (*) berarti "pilih setiap nilai dalam bidang." Karena bidang ini mewakili menit, nilai yang mungkin adalah 0-59. Karakter khusus kedua adalah garis miring (/), yang mewakili tahapan. Saat Anda menggabungkan karakter ini bersama-sama, ini berarti untuk semua nilai 0-59, pilih setiap nilai kelima. Cara yang lebih mudah untuk mengatakannya adalah "setiap lima menit."
Empat bidang yang tersisa secara numerik mewakili jam dalam hari 24 jam, hari dalam bulan, bulan dalam tahun 12 bulan, dan hari dalam minggu 7 hari. Tanda bintang untuk bidang ini berarti memilih setiap nilai yang memungkinkan. Dalam contoh ini, kita memilih "setiap jam setiap hari setiap bulan."
Ketika Anda menyatukan semua bidang, ekspresi dibaca sebagai "detik pertama setiap menit kelima setiap jam, setiap hari, setiap bulan".
Cara membuat pemicu timer
Anda dapat membuat pemicu timer di portal Microsoft Azure. Di aplikasi fungsi Anda, pilih pemicu timer dari daftar templat pemicu. Masukkan logika yang ingin Anda jalankan. Berikan Nama parameter tanda waktu dan ekspresi CRON.
Dalam modul ini, kita akan fokus pada pembuatan pemicu di portal, tetapi Anda juga dapat membuat pemicu secara terprogram menggunakan Core Tools, Visual Studio, atau Visual Studio Code.
Pemicu timer memanggil kode fungsi pada jadwal yang konsisten. Untuk menentukan jadwal pemicu timer, kita membuat ekspresi CRON, yaitu untai yang mewakili serangkaian waktu.