Je travaille sur le travail du minuteur des fonctions Azure, j'ai besoin d'obtenir l'expression cron des paramètres d'application. Veuillez me faire savoir, comment puis-je obtenir la valeur des paramètres des applications dans les fonctions Azure. Je souhaite exécuter ma fonction Azure à partir de 9 h 00 à 12 h 00 PM toutes les 30 minutes \
{
"disabled": false,
"bindings": [
{
"name": "timerInfo",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 * * * * *"
}
]
}
Définissez votre horaire sur "schedule": "%EmailScheduleTriggerTime%"
puis dans appsetting.json ou local.settings.json vous pouvez définir la valeur EmailScheduleTriggerTime sur "0 30 9-12 * * *"
{
"IsEncrypted": false,
"Values": {
"EmailScheduleTriggerTime": "0 30 9-12 * * *", //Run every 30 minutes from 9:00 to 12:00
},
"ConnectionStrings": {
"DefaultConnection": ""
}
}
[FunctionName("TimerfunctionApp")]
public static void Run([TimerTrigger("%EmailScheduleTriggerTime%")] TimerInfo TInfo, TraceWriter log)
Si vous utilisez l'outil VS2017 Functions et définissez votre fonction dans un projet .NET (plutôt que directement dans le portail Azure), vous pouvez sélectionner l'intervalle de AppSettings
à l'aide de %
syntaxe:
[FunctionName("MyTimerFunction")]
public static void Run([TimerTrigger("%TimerInterval%")] TimerInfo myTimer, TraceWriter log, ..
Ensuite, dans les paramètres de votre application, spécifiez l'intervalle de format CRON requis, par exemple. dans local.settings.json
{
"Values" : {
"TimerInterval" : "0 30 9-12 * * *"
}
}
Puisque ce post a déjà de bonnes réponses, je veux partager mon expérience ici. J'essayais d'exécuter l'application localement en ajoutant l'expression cron dans le appsettings.json
fichier mais quand j'ai exécuté l'application de fonction, j'ai toujours reçu une erreur comme suit
La fonction 'EmployeeTimerTrigger' est en erreur: Microsoft.Azure.WebJobs.Host: Erreur d'indexation de la méthode 'EmployeeTimerTrigger'. Microsoft.Azure.WebJobs.Host: '% EmployeeTimerTrigger%' ne se résout pas en une valeur.
Donc, pour résoudre ce que nous devons faire, c'est déplacer l'expression cron de appsettings.json
à local.settings.json
et cela a très bien fonctionné et j'ai pu le tester localement.
J'espère que cela vous aidera si vous faites également face à la même erreur.