This tutorial guides you through creating and configuring a Timer Trigger for Azure Functions, enabling your functions to run on a scheduled basis.
A Timer Trigger allows you to execute your Azure Functions code at regular intervals. This is incredibly useful for tasks like:
Open Visual Studio Code, navigate to the Azure extension, and select "Create New Project...". Choose a folder for your project, select "Azure Functions" as the project type, and then choose your preferred language (e.g., C#, JavaScript, Python). For this example, we'll use JavaScript.
Once your project is created, you can add a new function. In VS Code, go to the Azure extension, right-click on your project folder, and select "Add Azure Function...". Choose "Timer trigger" as the function type. You'll be prompted to name your function (e.g., TimerTriggerJS
) and set the schedule.
The schedule is defined using a CRON expression. A common example is 0 */5 * * * *
, which means "run every 5 minutes".
0 */5 * * * *
You can use various tools online to help you generate CRON expressions (e.g., crontab.guru).
A typical Timer Trigger function (in JavaScript) will look something like this:
// index.js
module.exports = async function (context, myTimer) {
const timeStamp = new Date().toISOString();
if (myTimer.isPastDue) {
context.log('JavaScript is running late!');
}
context.log('JavaScript timer trigger function ran!', timeStamp);
};
And the configuration file (function.json
):
{
"schedule": "0 */5 * * * *",
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */5 * * * *"
},
{
"name": "outputBlob",
"type": "blob",
"path": "mycontainer/{name}.txt",
"direction": "out"
}
]
}
Notice how the schedule
property in function.json
defines when the function runs. The myTimer
object passed into the function contains information like whether it's running late.
To test your Timer Trigger locally, open a terminal in your project's root directory and run:
The Azure Functions Host will start, and your timer function will begin executing according to its schedule. You'll see the log messages in the terminal.
Once you're satisfied with your local testing, you can deploy your function app to Azure:
1. Create a Function App in Azure
Go to the Azure portal, search for "Function App", and click "Create". Fill in the required details (Subscription, Resource Group, Function App name, Runtime stack, etc.).
2. Deploy from VS Code
In VS Code, go to the Azure extension, find your subscription, right-click on your Function App, and select "Deploy to Function App...". Choose the Azure Function App you created.
Ensure your CRON schedule in function.json
is correctly set for production use. You can also modify the schedule directly in the Azure portal after deployment.
After deployment, you can monitor your Timer Trigger's executions and manage its schedule through the Azure portal:
crontab.guru
for validation.func start
is running locally or that the Function App is running correctly in Azure.