Azure Function Types

Learn about Azure function types available to developers.

Azure Functions supports several programming languages and multiple ways of hosting and executing the functions. We can run either an interpreted script or a compiled executable. We can host a function in its own isolated process or as a part of the function host process.

Languages supported by Azure Functions

Azure Functions can support the following languages:

  • C#

  • Java

  • JavaScript

  • PowerShell

  • Python

In addition to this, there are three types of functions supported by C#:

  • CSX script: An interpreted C# script that is represented by raw C# code.

  • In-process function: A compiled executable that runs as a part of the function process.

  • Isolated process function: A compiled executable that is launched by a function process but runs in a separate process from it.

In this course, we will focus on C# functions and we will go over all function types supported by C#.

Trigger types supported by Azure Functions

Each function can be invoked via one of the following triggers:

  • HTTP: Invoked by a standard HTTP request via a specific URL endpoint.

  • Timer: Invoked at specific intervals configured by a CronA command-line utility on Linux that is used for scheduling jobs. timer syntax.

  • Queue Storage: Invoked by a message being placed on a specific Azure Queue Storage.

  • Blob Storage: Invoked by adding a new blob or updating an existing blob in Azure Blob Storage.

  • SignalR: Invoked by receiving a message from Azure SignalR Service.

  • RabbitMQ: Invoked by a message being placed on a RabbitMQ queue.

  • Service Bus: Invoked by a message being placed on an Azure Service Bus queue.

  • CosmosDB: Invoked when a new entity is added to an Azure CosmosDB database or an existing entity is modified.

  • Event Grid: Invoked by an event being added to Azure Event Grid.

  • Event Hubs: Invoked by a message being placed on Azure Event Hubs and IoT Hub.

We will cover each of these in the course. There is also support for other trigger types, such as Kafka and Azure Table Storage that aren’t covered in this course. However, demonstrating the above trigger is sufficient to provide an overview of how triggers and bindings work in Azure Functions.

Integration between different technologies and Azure Functions isn’t limited to triggers. A function can also be configured to bind either its inputs or its outputs to a specific service. For example, a function can be configured to save its output in the database. These bindings are independent of trigger types. For example, a function with an HTTP trigger can have its output bound to a RabbitMQ queue.

Get hands-on with 1400+ tech skills courses.