Azure Functions Web API Sample

Build and deploy robust, scalable web APIs using Azure Functions.

What is an Azure Functions Web API?

Azure Functions provides a serverless compute service that enables you to run small pieces of code, or "functions," in the cloud without having to manage infrastructure. Creating a Web API with Azure Functions allows you to build HTTP-triggered endpoints that can serve data, handle requests, and integrate with other services.

This sample demonstrates a basic HTTP-triggered Azure Function that acts as a simple Web API endpoint.

Key Features

HTTP Triggers

Easily create endpoints that respond to incoming HTTP requests (GET, POST, PUT, DELETE, etc.) using various programming languages.

Scalability

Azure Functions automatically scales based on demand, ensuring your API can handle fluctuating traffic without manual intervention.

Bindings

Simplify integration with other Azure services (like Cosmos DB, Storage, Service Bus) using declarative input and output bindings.

Language Support

Develop your Web APIs using your preferred language, including C#, JavaScript, Python, Java, PowerShell, and more.

Sample API Endpoint

This sample includes a simple HTTP-triggered function that returns a welcome message. You can test it by making a GET request to the endpoint.

Endpoint: GET /api/greeting

Example Usage:

curl https://your-azure-function-app.azurewebsites.net/api/greeting

Expected Response:

{
    "message": "Hello from Azure Functions Web API!"
}

Code Snippet (C# Example)

Here's a glimpse of what the C# code for a basic HTTP-triggered function might look like:

using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;

namespace AzureFunctions.Samples.WebAPI
{
    public static class GreetingFunction
    {
        [FunctionName("Greeting")]
        public static async Task Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "greeting")] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string name = req.Query["name"];

            string responseMessage = string.IsNullOrEmpty(name)
                ? "Hello from Azure Functions Web API!"
                : $"Hello, {name}! This is Azure Functions Web API.";

            return new OkObjectResult(new { message = responseMessage });
        }
    }
}

Getting Started

To build and deploy your own Azure Functions Web API, you can: