Create a function triggered by Azure Queue storage

Learn how to create a function that is triggered when messages are submitted to an Azure Storage queue.

View message in the logs.


Create an Azure Function app

  1. From the Azure portal menu, select Create a resource.

    Add resource by using the Azure portal menu

  2. In the New page, select Compute > Function App.

  3. Use the function app settings as specified in the table below the image.


    Setting Suggested value Description
    Subscription Your subscription The subscription under which this new function app is created.
    Resource Group myResourceGroup Name for the new resource group in which to create your function app.
    Function App name Globally unique name Name that identifies your new function app. Valid characters are a-z (case insensitive), 0-9, and -.
    Publish Code Option to publish code files or a Docker container.
    Runtime stack Preferred language Choose a runtime that supports your favorite function programming language. Choose .NET for C# and F# functions.
    Region Preferred region Choose a region near you or near other services your functions access.

    Select the Next : Hosting > button.

  4. Enter the following settings for hosting.


    Setting Suggested value Description
    Storage account Globally unique name Create a storage account used by your function app. Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. You can also use an existing account, which must meet the storage account requirements.
    Operating system Preferred operating system An operating system is pre-selected for you based on your runtime stack selection, but you can change the setting if necessary.
    Plan Consumption plan Hosting plan that defines how resources are allocated to your function app. In the default Consumption Plan, resources are added dynamically as required by your functions. In this serverless hosting, you only pay for the time your functions run. When you run in an App Service plan, you must manage the scaling of your function app.

    Select the Next : Monitoring > button.

  5. Enter the following settings for monitoring.


    Setting Suggested value Description
    Application Insights Default Creates an Application Insights resource of the same App name in the nearest supported region. By expanding this setting, you can change the New resource name or choose a different Location in an Azure geography where you want to store your data.

    Select Review + Create to review the app configuration selections.

  6. Select Create to provision and deploy the function app.

  7. Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    Deployment notification

  8. Select Go to resource to view your new function app. You can also select Pin to dashboard. Pinning makes it easier to return to this function app resource from your dashboard.

Function app successfully created.

Next, you create a function in the new function app.

Create a Queue triggered function

  1. Expand your function app and click the + button next to Functions. If this is the first function in your function app, select In-portal then Continue. Otherwise, go to step three.

    Functions quickstart page in the Azure portal

  2. Choose More templates then Finish and view templates.

    Functions quickstart choose more templates

  3. In the search field, type queue and then choose the Queue trigger template.

  4. If prompted, select Install to install the Azure Storage extension and any dependencies in the function app. After installation succeeds, select Continue.

    Install binding extensions

  5. Use the settings as specified in the table below the image.

    Configure the storage queue triggered function.

    Setting Suggested value Description
    Name Unique in your function app Name of this queue triggered function.
    Queue name myqueue-items Name of the queue to connect to in your Storage account.
    Storage account connection AzureWebJobsStorage You can use the storage account connection already being used by your function app, or create a new one.
  6. Click Create to create your function.

Next, you connect to your Azure Storage account and create the myqueue-items storage queue.

Create the queue

  1. In your function, click Integrate, expand Documentation, and copy both Account name and Account key. You use these credentials to connect to the storage account in Azure Storage Explorer. If you have already connected your storage account, skip to step 4.

    Get the Storage account connection credentials.

  2. Run the Microsoft Azure Storage Explorer tool, click the connect icon on the left, choose Use a storage account name and key, and click Next.

    Run the Storage Account Explorer tool.

  3. Enter the Account name and Account key from step 1, click Next and then Connect.

    Enter the storage credentials and connect.

  4. Expand the attached storage account, right-click Queues, click Create Queue, type myqueue-items, and then press enter.

    Create a storage queue.

Now that you have a storage queue, you can test the function by adding a message to the queue.

Test the function

  1. Back in the Azure portal, browse to your function, expand the Logs at the bottom of the page, and make sure that log streaming isn't paused.

  2. In Storage Explorer, expand your storage account, Queues, and myqueue-items, then click Add Message.

    Add a message to the queue.

  3. Type your "Hello World!" message in Message text and click OK.

  4. Wait for a few seconds, then go back to your function logs and verify that the new message has been read from the queue.

    View message in the logs.

  5. Back in Storage Explorer, click Refresh and verify that the message has been processed and is no longer in the queue.

Clean up resources

Other quick starts in this collection build upon this quick start. If you plan to work with subsequent quick starts, tutorials, or with any of the services you have created in this quick start, do not clean up the resources.

Resources in Azure refers to function apps, functions, storage accounts, and so forth. They are grouped into resource groups, and you can delete everything in a group by deleting the group.

You created resources to complete these quickstarts. You may be billed for these resources, depending on your account status and service pricing. If you don't need the resources anymore, here's how to delete them:

  1. In the Azure portal, go to the Resource group page.

    To get to that page from the function app page, select the Overview tab and then select the link under Resource group.

    Select the resource group to delete from the function app page.

    To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  3. Select Delete resource group, and follow the instructions.

    Deletion may take a couple of minutes. When it's done, a notification appears for a few seconds. You can also select the bell icon at the top of the page to view the notification.

Next steps

You have created a function that runs when a message is added to a storage queue. For more information about Queue storage triggers, see Azure Functions Storage queue bindings.

Now that you have a created your first function, let's add an output binding to the function that writes a message back to another queue.