Import an Azure function app as an API in Azure API Management

APPLIES TO: All API Management tiers

Azure API Management supports importing Azure function apps as new APIs or appending them to existing APIs. The process automatically generates a host key in the Azure function app, which is then assigned to a named value in API Management.

This article describes how to import an Azure function app as an API to Azure API Management and test the API.

You'll learn how to:

  • Import an Azure function app as an API
  • Append an Azure function app to an API
  • View the new function app host key and API Management named value
  • Test the API in the Azure portal

Prerequisites

Note

You can also use the API Management Extension for Visual Studio Code to import and manage your APIs. Complete the API Management Extension tutorial to get started.

Import an Azure function app as a new API

To create a new API from an Azure function app:

  1. Navigate to your API Management service in the Azure portal.

  2. Select APIs > APIs in the left pane.

  3. Under Create from Azure resource, select Function App:

    Screenshot that shows the Function App tile in the Azure portal.

  4. Select the Browse button:

    Screenshot that highlights the Browse button.

  5. Click the Select button under Configure required settings to choose from the list of available function apps:

    Screenshot that shows the Select button.

  6. Find the function app that you want to import functions from, select it, and then click Select:

    Screenshot that shows a function app and the Select button.

  7. Select the functions that you want to import and click Select. You can only import functions that have an HTTP trigger and an Anonymous or Function authorization level.

    Screenshot that shows a function and the Select button.

  8. Switch to the Full view and assign a Product to your new API.

    Note

    Products are associations of one or more APIs that are offered to developers via the developer portal. First, developers must subscribe to a product to get access to the API. When they subscribe, they get a subscription key for any API in the product. If you created the API Management instance, you're an administrator and are subscribed to every product by default.

    In some pricing tiers, API Management instances come with two default sample products:

    • Starter
    • Unlimited
  9. As needed, specify other settings. You can also specify settings later via the Settings tab. These settings are explained in the Import and publish your first API tutorial.

  10. Select Create.

Append a function app to an existing API

To append a function app to an existing API:

  1. In your Azure API Management service instance, select APIs > APIs in the left pane.

  2. Choose an API that you want to import a function app to. Select the ellipsis (...) next to the API, and then select Import:

    Screenshot that shows the Import menu option.

  3. Select the Function App tile:

    Screenshot that shows the Function App tile.

  4. In the Import from Function App window, select Browse:

    Screenshot that shows the Browse button.

  5. Click the Select button under Configure required settings to choose from the list of available function apps:

    Screenshot that shows the Function App section.

  6. Find the function app you want to import functions from, select it, and then click Select:

    Screenshot that shows the function app and the Select button.

  7. Select the functions that you want to import, and then click Select:

    Screenshot that shows the list of functions.

  8. Select Import:

    Screenshot that shows the Import button.

Authorization

When you import an Azure function app, these items are automatically generated:

  • A host key in the function app. The key is named apim-<your API Management service instance name>.
  • A named value in the API Management instance that has the name <your Azure function app instance name>-key. This value contains the host key.

For APIs created after April 4, 2019, the host key is passed in HTTP requests from API Management to the function app in a header. Older APIs pass the host key as a query parameter. You can change this behavior by using the PATCH Backend REST API call on the Backend entity that's associated with the function app.

Warning

Removing or changing either the Azure function app host key value or the API Management named value will disable communication between the services. The values don't automatically sync.

If you need to rotate the host key, be sure to also change the named value in API Management.

Access a function app host key

  1. Navigate to your Azure function app instance:

    Screenshot that shows a list of function app instances.

  2. In the Functions section of the left pane, select App keys:

    Screenshot that shows App keys in the menu.

  3. Find the keys in the Host keys section:

    Screenshot that shows the host keys.

Access the named value in API Management

Navigate to your API Management instance and select APIs > Named values in the left pane. The Azure function app key is stored there.

Screenshot that shows the location of the function app key.

Test the new API in the Azure portal

You can call operations directly from the Azure portal. Using the Azure portal is a convenient way to view and test the operations of an API.

Screenshot that shows the steps for testing an API.

  1. Select the API that you created in the preceding section.

  2. Select the Test tab.

  3. Select the operation that you want to test.

    • The page displays fields for query parameters and headers.
    • One of the headers is Ocp-Apim-Subscription-Key. This header is for the product subscription key that's associated with the API.
    • If you created the API Management instance, you're an administrator, so the key is filled in automatically.
  4. Select Send.

    When the test succeeds, the backend responds with 200 OK and some data.