Home › Convert › Apache Airflow to Azure Functions
Convert Apache Airflow cron to Azure Functions
Apache Airflow expressions look similar to Azure Functions, but the differences matter. Paste yours below; the result is checked against the original run times.
What changes from Apache Airflow to Azure Functions
- Azure Functions has a leading seconds field. The converter adds
0in front so the job fires at the start of the minute. - Apache Airflow runs when day-of-month or day-of-week matches, but Azure Functions requires both. If you set both fields, the converter warns you.
- Azure Functions has no
L,Wor#symbols. Schedules like "last day of the month" cannot be converted and are refused rather than silently changed.
Worked examples
| Schedule | Apache Airflow | Azure Functions |
|---|---|---|
| every minute | * * * * * | 0 * * * * * |
| every 5 minutes | */5 * * * * | 0 */5 * * * * |
| every 10 minutes | */10 * * * * | 0 */10 * * * * |
| every 15 minutes | */15 * * * * | 0 */15 * * * * |
| every 30 minutes | */30 * * * * | 0 */30 * * * * |
| every hour | 0 * * * * | 0 0 * * * * |
| every 2 hours | 0 */2 * * * | 0 0 */2 * * * |
| every 3 hours | 0 */3 * * * | 0 0 */3 * * * |
What cannot be converted
These common Apache Airflow schedules have no equivalent in Azure Functions. The converter refuses them instead of guessing.
- on the last day of every month:
0 0 L * *. This schedule cannot be expressed in Azure Functions NCRONTAB: "L" is not a valid dom value. - on the first Monday of every month at 9:00 AM:
0 9 * * MON#1. This schedule cannot be expressed in Azure Functions NCRONTAB: "MON#1" is not a valid dow value.
Field layout and time zones
minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-7, 0 and 7 = Sunday).
Airflow defaults to UTC. On a time-zone-aware DAG a cron schedule follows wall-clock time, so a daily 00:00 US/Eastern run moves between 04:00 and 05:00 UTC across daylight saving changes.
second (0-59), minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-6, 0 = Sunday).
Azure Functions evaluates NCRONTAB in UTC unless the WEBSITE_TIME_ZONE app setting is set; with it, the schedule adjusts for daylight saving. The setting is not supported on Linux Consumption or Flex Consumption plans.
Go the other way
Convert Azure Functions to Apache Airflow, or open the Apache Airflow builder or the Azure Functions builder.
Frequently asked questions
How do I convert a Apache Airflow cron expression to Azure Functions?
Paste it into the converter above with Apache Airflow as the source and Azure Functions as the target. For example, * * * * * becomes 0 * * * * *.
Is every Apache Airflow expression convertible to Azure Functions?
No. Out of 30 common schedules, 2 cannot be expressed in Azure Functions: on the last day of every month; on the first Monday of every month at 9:00 AM.
Does Azure Functions run in the same time zone as Apache Airflow?
Not necessarily. Conversion changes the syntax, not the time zone. Check where each system evaluates the schedule before you rely on the same clock times.