创建由 Azure 队列存储触发的函数Create a function triggered by Azure Queue storage

了解如何创建在将消息提交到 Azure 存储队列时触发的函数。Learn how to create a function that is triggered when messages are submitted to an Azure Storage queue.

先决条件Prerequisites

  • Azure 订阅。An Azure subscription. 如果没有订阅,请在开始之前创建一个试用帐户If you don't have one, create a Trial before you begin.

创建 Azure Function AppCreate an Azure Function app

  1. 在 Azure 门户菜单或“主页”页中,选择“创建资源” 。From the Azure portal menu or the Home page, select Create a resource.

  2. “新建” 页面,选择 “计算” > “函数应用”In the New page, select Compute > Function App.

  3. 在“基本信息”页上,使用下表中指定的函数应用设置。On the Basics page, use the function app settings as specified in the following table.

    设置Setting 建议的值Suggested value 说明Description
    订阅Subscription 你的订阅Your subscription 要在其下创建此新函数应用的订阅。The subscription under which this new function app is created.
    资源组Resource Group myResourceGroupmyResourceGroup 要在其中创建 Function App 的新资源组的名称。Name for the new resource group in which to create your function app.
    函数应用名称Function App name 全局唯一名称Globally unique name 用于标识新 Function App 的名称。Name that identifies your new function app. 有效字符为 a-z(不区分大小写)、0-9-Valid characters are a-z (case insensitive), 0-9, and -.
    Publish 代码Code 用于发布代码文件或 Docker 容器的选项。Option to publish code files or a Docker container.
    运行时堆栈Runtime stack 首选语言Preferred language 选择支持你喜欢的函数编程语言的运行时。Choose a runtime that supports your favorite function programming language.
    版本Version 版本号Version number 选择已安装的运行时的版本。Choose the version of your installed runtime.
    区域Region 首选区域Preferred region 选择离你近或离函数访问的其他服务近的区域Choose a region near you or near other services your functions access.
  4. 选择“下一步: 托管”。Select Next : Hosting. 在“托管”页上,输入以下设置。On the Hosting page, enter the following settings.

    设置Setting 建议的值Suggested value 说明Description
    存储帐户Storage account 全局唯一名称Globally unique name 创建函数应用使用的存储帐户。Create a storage account used by your function app. 存储帐户名称必须为 3 到 24 个字符,并且只能包含数字和小写字母。Storage account names must be between 3 and 24 characters in length and can contain numbers and lowercase letters only. 也可使用现有帐户,但该帐户必须符合存储帐户要求You can also use an existing account, which must meet the storage account requirements.
    操作系统Operating system WindowsWindows 系统会根据你的运行时堆栈选择为你预先选择一个操作系统,但你可以根据需要更改该设置。An operating system is pre-selected for you based on your runtime stack selection, but you can change the setting if necessary. 仅在 Windows 上支持门户内编辑。In-portal editing is only supported on Windows.
    计划Plan 消耗(无服务器)Consumption (Serverless) 定义如何将资源分配给 Function App 的托管计划。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 pay only for the time your functions run. 按应用服务计划运行时,必须管理函数应用的缩放When you run in an App Service plan, you must manage the scaling of your function app.
  5. 选择“下一步: 监视”。Select Next : Monitoring. 在“监视”页上,输入以下设置。On the Monitoring page, enter the following settings.

    设置Setting 建议的值Suggested value 说明Description
    Application InsightsApplication Insights 默认Default 在最近的受支持的区域中,创建一个具有相同应用名称的 Application Insights 资源。Creates an Application Insights resource of the same App name in the nearest supported region. 通过展开此设置或选择“新建”,可以更改 Application Insights 名称或在 Azure 地理位置中选择要存储数据的其他区域。By expanding this setting or selecting Create new, you can change the Application Insights name or choose a different region in an Azure geography where you want to store your data.
  6. 选择“查看 + 创建”,以便查看应用配置选择。Select Review + create to review the app configuration selections.

  7. 在“查看 + 创建”页上查看设置,然后选择“创建”来预配并部署函数应用 。On the Review + create page, review your settings, and then select Create to provision and deploy the function app.

  8. 选择门户右上角的“通知”图标,留意是否显示了“部署成功”消息。 Select the Notifications icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

  9. 选择“转到资源”,查看新的函数应用。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 中创建一个函数。Next, you create a function in the new function app.

创建队列触发的函数Create a Queue triggered function

  1. 选择“函数”,然后选择“+ 添加”以添加新函数。Select Functions, and then select + Add to add a new function.

    已成功创建函数应用。

  2. 选择“Azure 队列存储触发器”模板。Choose the Azure Queue Storage trigger template.

  3. 使用图像下的表中指定的设置。Use the settings as specified in the table below the image.

    已成功创建函数应用。

    设置Setting 建议的值Suggested value 说明Description
    名称Name 在 Function App 中唯一Unique in your function app 此队列触发函数的名称。Name of this queue triggered function.
    队列名称Queue name myqueue-itemsmyqueue-items 要连接到存储帐户中的队列的名称。Name of the queue to connect to in your Storage account.
    存储帐户连接Storage account connection AzureWebJobsStorageAzureWebJobsStorage 可以使用 Function App 已在使用的存储帐户连接,也可以创建一个新的存储帐户连接。You can use the storage account connection already being used by your function app, or create a new one.
  4. 选择“创建函数”以创建函数。Select Create Function to create your function.

    已成功创建函数应用。

接下来,连接到 Azure 存储帐户并创建 myqueue-items 存储队列。Next, you connect to your Azure storage account and create the myqueue-items storage queue.

创建队列Create the queue

  1. 在函数的“概览”页上,选择资源组。In your function, on the Overview page, select your resource group.

    已成功创建函数应用。

  2. 查找并选择资源组的存储帐户。Find and select your resource group's storage account.

    已成功创建函数应用。

  3. 选择“队列”,然后选择“+ 队列”。Choose Queues, and then choose + Queue.

    已成功创建函数应用。

  4. 在“名称”字段中键入 myqueue-items,然后选择“创建”。In the Name field, type myqueue-items, and then select Create.

    已成功创建函数应用。

现在已有存储队列,可以通过将消息添加到队列来测试函数。Now that you have a storage queue, you can test the function by adding a message to the queue.

测试函数Test the function

  1. 返回到 Azure 门户中,浏览到函数,展开页面底部的“日志”并确保日志流式处理未暂停。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. 在单独的浏览器窗口中,转到 Azure 门户中的资源组,然后选择存储帐户。In a separate browser window, go to your resource group in the Azure portal, and select the storage account.

  3. 选择“队列”,然后选择“myqueue-items”容器。Select Queues, and then select the myqueue-items container.

    已成功创建函数应用。

  4. 选择“添加消息”,然后在“消息文本”中Select Add message, and type "Hello World!" 键入“Hello World!”。in Message text. 选择“确定”。Select OK.

    已成功创建函数应用。

  5. 等待几秒钟,返回到函数日志并验证是否已从队列中读取新消息。Wait for a few seconds, then go back to your function logs and verify that the new message has been read from the queue.

    已成功创建函数应用。

  6. 返回到存储队列中,选择“刷新”,并验证该消息是否已处理且不再在队列中。Back in your storage queue, select Refresh and verify that the message has been processed and is no longer in the queue.

清理资源Clean up resources

本教程系列中的其他快速入门教程是在本文的基础上制作的。Other quickstarts in this collection build upon this quickstart. 如果打算使用后续的快速入门、教程或者在本快速入门中创建的任何服务,请勿清理这些资源。If you plan to work with subsequent quickstarts, tutorials, or with any of the services you have created in this quickstart, do not clean up the resources.

Azure 中的资源是指函数应用、函数、存储帐户等。Resources in Azure refer to function apps, functions, storage accounts, and so forth. 这些资源可以组合到资源组 中,删除该组即可删除组中的所有内容。They're 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. 在 Azure 门户中转到“资源组”页。 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.

    从函数应用页选择要删除的资源组。

    若要从仪表板转到该页,请选择“资源组”,然后选择用于本快速入门的资源组。 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're 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. 有关队列存储触发器的详细信息,请参阅 Azure Functions 存储队列绑定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.