Een Azure-functie volgens een schema uitvoeren
Bepaalde logica wordt vaak uitgevoerd op vastgestelde tijdstippen. Stel dat u een blogeigenaar bent en u merkt dat uw abonnees uw meest recente berichten niet lezen. U besluit dat u het beste één keer per week een e-mailbericht kunt verzenden om hen eraan te herinneren dat ze uw blog moeten bekijken. U implementeert deze logica door een functie-app in Azure te maken met een timertrigger om uw functie wekelijks aan te roepen.
Wat is een timertrigger?
Een timertrigger is een trigger voor het uitvoeren van een functie op vaste tijdstippen. Voor het maken van een timertrigger moet u twee gegevens opgeven.
- Een naam voor de timestampparameterDit is een id voor toegang tot de trigger in programmacode.
- Een planning. Dit is een CRON-expressie waarmee het interval voor de timer wordt ingesteld.
Wat is een CRON-expressie?
Een CRON-expressie is een tekenreeks die bestaat uit zes velden die samen een bepaald tijdstip vormen.
De volgorde van de zes velden in Azure is: {second} {minute} {hour} {day} {month} {day of the week}
.
Een CRON-expressie voor het maken van een trigger die elke vijf minuten wordt uitgevoerd, ziet er bijvoorbeeld als volgt uit: 0 */5 * * * *
In het begin kan deze tekenreeks er verwarrend uitzien. We komen hier later op terug als we dieper ingaan op CRON-expressies.
Voor het bouwen van een CRON-expressie moet u een basisbegrip hebben van bepaalde speciale tekens.
Speciaal teken | Betekenis | Opmerking |
---|---|---|
* | Selecteert elke waarde in een veld | Een sterretje (*) in het veld voor de dag van de week staat voor elke dag. |
, | Scheidingsteken voor items in een lijst | Een komma (1,3) in het veld voor de dag van de week staat voor alleen maandag (dag 1) en woensdag (dag 3). |
- | Een bereik | Een koppelteken (10-12) in het veld voor het uur staat voor een bereik met 10, 11 en 12 uur. |
/ | Een verhoging | Een slash (*/10) in het veld voor de minuten staat voor een verhoging met telkens 10 minuten. |
Nu keren we terug naar het oorspronkelijke voorbeeld van de CRON-expressie. We zullen proberen u wat wijzer te maken door nader in te gaan op elk veld.
0 */5 * * * *
Het eerste veld staat voor de seconden. Mogelijke waarden voor dit veld zijn 0-59. Omdat het veld een nul bevat, wordt de eerst mogelijke waarde van één seconde geselecteerd.
Het tweede veld staat voor de minuten. De waarde */5 bevat twee speciale tekens. Ten eerste betekent het sterretje (*) 'elke waarde in het veld selecteren'. Omdat dit veld minuten vertegenwoordigt, zijn de mogelijke waarden 0-59. Het tweede speciale teken, de schuine streep (/), staat voor een verhoging. Als u deze combinatie van tekens opgeeft, wordt telkens de vijfde waarde van alle waarden van 0 tot en met 59 geselecteerd. In eenvoudiger woorden komt dit neer op 'om de vijf minuten'.
De resterende vier velden vertegenwoordigen het uur in een dag van 24 uur, dag in de maand, maand in een jaar van 12 maanden en de dag van de zevendaagse week. Een sterretje voor deze velden betekent dat elke mogelijke waarde wordt geselecteerd. In dit voorbeeld selecteren we 'elk uur van elke dag van elke maand'.
Wanneer u alle velden samenbrengt, wordt de expressie gelezen als 'de eerste seconde van elke vijfde minuut van elk uur, van elke dag, van elke maand'.
Een timertrigger maken
U kunt in Azure Portal een timertrigger maken. Selecteer in uw functie-app timertrigger in de lijst met triggersjablonen. Voer de uit te voeren logica in. Geef een naam voor de timestampparameter en de CRON-expressie op.
In deze module richten we ons op het maken van triggers in de portal, maar u kunt ook programmatisch triggers maken met Behulp van Core Tools, Visual Studio of Visual Studio Code.
Een timertrigger roept de functiecode aan volgens een consistent schema. We maken een CRON-expressie om het schema voor een timertrigger te definiëren. Een CRON-expressie is een tekenreeks die bepaalde tijdstippen vertegenwoordigt.