在 Azure 中创建由计时器触发的函数Create a function in Azure that is triggered by a timer

了解如何使用 Azure Functions 创建根据所定义的计划运行的无服务器函数。Learn how to use Azure Functions to create a serverless function that runs based a schedule that you define.

在 Azure 门户中创建 Function App

先决条件Prerequisites

完成本教程:To complete this tutorial:

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

创建 Azure Function AppCreate an Azure Function app

  1. 选择 Azure 门户左上角的“新建资源”按钮,然后选择“计算” > “Function App”。Select the Create a resource button found on the upper left-hand corner of the Azure portal, then select Compute > Function App.

    在 Azure 门户中创建函数应用

  2. 使用图像下面的表格中指定的函数应用设置。Use the function app settings as specified in the table below the image.

    定义新的函数应用设置

    设置Setting 建议的值Suggested value 说明Description
    应用名称App name 全局唯一名称Globally unique name 用于标识新 Function App 的名称。Name that identifies your new function app. 有效的字符是 a-z0-9-Valid characters are a-z, 0-9, and -.
    订阅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.
    运行时堆栈Runtime stack 首选语言Preferred language 选择支持你喜欢的函数编程语言的运行时。Choose a runtime that supports your favorite function programming language. 对于 C# 和 F# 函数,选择 .NETChoose .NET for C# and F# functions.
    存储Storage 全局唯一名称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 may contain numbers and lowercase letters only. 也可使用现有帐户,但该帐户必须符合存储帐户要求You can also use an existing account, which must meets the storage account requirements.
    应用服务计划/位置App Service plan/Location 按应用服务计划运行时,必须管理函数应用的缩放When you run in an App Service plan, you must manage the scaling of your function app.
  3. 选择“创建”以预配和部署函数应用。Select Create to provision and deploy the function app.

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

    定义新的函数应用设置

  5. 选择“转到资源”,查看新的函数应用。Select Go to resource to view your new function app.

Tip

如果在门户中找不到函数应用,请尝试将 Function App 添加到 Azure 门户中的收藏夹Having trouble finding your function apps in the portal, try adding Function Apps to your favorites in the Azure portal.

已成功创建 Function App。

接下来,在新的 Function App 中创建一个函数。Next, you create a function in the new function app.

创建计时器触发的函数Create a timer triggered function

  1. 展开 Function App,单击“Functions”旁边的 + 按钮。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.

    Azure 门户中的 Functions 快速入门页

  2. 依次选择“更多模板”、“完成并查看模板”。Choose More templates then Finish and view templates.

    Functions 快速入门选择更多模板

  3. 在搜索字段中,键入 timer 并使用图像下面的表中指定的设置来配置新的触发器。In the search field, type timer and configure the new trigger with the settings as specified in the table below the image.

    在 Azure 门户中创建计时器触发的函数。

    设置Setting 建议的值Suggested value 说明Description
    名称Name 默认Default 定义计时器触发的函数的名称。Defines the name of your timer triggered function.
    计划Schedule 0 */1 * * * *0 */1 * * * * 六字段 CRON 表达式,计划函数每分钟运行一次。A six field CRON expression that schedules your function to run every minute.
  4. 单击创建Click Create. 将使用所选语言创建一个每分钟运行一次的函数。A function is created in your chosen language that runs every minute.

  5. 通过查看写入日志的跟踪信息来验证执行情况。Verify execution by viewing trace information written to the logs.

    Azure 门户中的“函数日志”查看器。

现在可以更改函数的计划,使之每小时运行一次,而不是每分钟运行一次。Now, you change the function's schedule so that it runs once every hour instead of every minute.

更新计时器计划Update the timer schedule

  1. 展开函数,并单击“集成”。Expand your function and click Integrate. 可在此处定义函数的输入和输出绑定,还可以设置计划。This is where you define input and output bindings for your function and also set the schedule.

  2. 输入新的小时计划0 0 */1 * * *,然后单击“保存”。Enter a new hourly Schedule value of 0 0 */1 * * * and then click Save.

    Azure 门户中的函数更新计时器计划。

    现在已获得一个每小时运行一次的函数。You now have a function that runs once every hour.

清理资源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.

Azure 中的资源是指函数应用、函数、存储帐户等。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. 在 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 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 based on a schedule. 有关计时器触发器的详细信息,请参阅使用 Azure Functions 计划代码执行For more information about timer triggers, see Schedule code execution with Azure Functions.

创建第一个函数以后,即可向这个可以将消息写入存储队列的函数添加输出绑定。Now that you have a created your first function, let's add an output binding to the function that writes a message to a Storage queue.