---
title: "Azure Functions on a Linux App Service Plan"
description: "Creates Azure Functions on a Linux App Service Plan"
url: "https://www.pulumi.com/dev/examples/azure-cs-functions/"
image: "https://www.pulumi.com/assets/og/dev/examples/azure-cs-functions.png"
---

# Azure Functions on a Linux App Service Plan

Creates Azure Functions on a Linux App Service Plan

- Source on GitHub: https://github.com/pulumi/examples/tree/master/azure-cs-functions

## Get started with this example

This example lives in the [pulumi/examples](https://github.com/pulumi/examples/tree/master/azure-cs-functions) repo. Pull down just this directory to follow along:

```bash
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set azure-cs-functions
cd pulumi-examples/azure-cs-functions
```

Azure Functions created from deployment packages in Python and deployed to an App Service Plan on Linux.

## Deploying the App

To deploy your infrastructure, follow the below steps.

### Prerequisites

1. [Install Pulumi](https://www.pulumi.com/docs/get-started/install/)
2. [Install .NET Core 3.1+](https://dotnet.microsoft.com/download)

### Steps

1.  Create a new stack:

    ```
    $ pulumi stack init dev
    ```

1.  Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):

    ```
    $ az login
    ```

1.  Configure the location to deploy the resources to:

    ```
    $ pulumi config set azure-native:location <location>
    ```

1.  Run `pulumi up` to preview and deploy changes:

    ```
    $ pulumi up
    Previewing update (dev):
    ...

    Updating (dev):
    ...
    Resources:
        + 8 created
    Duration: 2m42s
    ```

1.  Check the deployed function endpoints:

    ```
    $ pulumi stack output Endpoint
    https://app1a2d3e4d.azurewebsites.net/api/Hello?name=Pulumi
    $ curl "$(pulumi stack output Endpoint)"
    Hello, Pulumi
    ```

1. From there, feel free to experiment. Simply making edits and running `pulumi up` will incrementally update your stack.

1. Once you've finished experimenting, tear down your stack's resources by destroying and removing it:

    ```bash
    $ pulumi destroy --yes
    $ pulumi stack rm --yes
    ```
