您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

创建函数应用并从 Azure DevOps 部署函数代码Create a function app and deploy function code from Azure DevOps

本主题演示如何使用 Azure Functions 创建使用消耗计划无服务器函数应用。This topic shows you how to use Azure Functions to create a serverless function app using the consumption plan. 从 Azure DevOps 存储库连续部署函数应用(即函数的容器)。The function app, which is a container for your functions, is continuously deployed from an Azure DevOps repository.

通过此脚本创建的函数应用使用 1.x 版 Azure Functions 运行时The function app created by this script uses version 1.x of the Azure Functions runtime. 若要了解如何升级到 2.x 版,请参阅使用 Azure CLI 指定版本To learn how to upgrade to version 2.x, see Target a version using Azure CLI.

若要完成本主题,必须具备以下条件:To complete this topic, you must have:

  • 包含函数应用项目的 Azure DevOps 存储库,并且你对其具有管理权限。An Azure DevOps repository that contains your function app project and to which you have administrative permissions.
  • 个人访问令牌 (PAT),用于访问 Azure DevOps 存储库。A personal access token (PAT) to access your Azure DevOps repository.

如果还没有 Azure 订阅,可以在开始前创建一个免费帐户If you don't have an Azure subscription, create a free account before you begin.

打开 Azure Cloud ShellOpen Azure Cloud Shell

Azure Cloud Shell 是一个托管在 Azure 中的交互式 shell 环境,可通过浏览器使用。Azure Cloud Shell is an interactive shell environment hosted in Azure and used through your browse. Azure Cloud Shell 允许你使用 bashPowerShell shell 运行各种工具来使用 Azure 服务。Azure Cloud Shell allows you to use either bash or PowerShell shells to run a variety of tools to work with Azure services. Azure Cloud Shell 预安装了一些命令,允许你运行本文的内容,而不必在本地环境中安装任何内容。Azure Cloud Shell comes pre-installed with the commands to allow you to run the content of this article without having to install anything on your local environment.

若要在 Azure Cloud Shell 上运行本文中包含的任何代码,请打开 Cloud Shell 会话,对代码块使用“复制” 按钮以复制代码,然后使用 Ctrl+Shift+V(在 Windows 和 Linux 上)或 Cmd+Shift+V(在 macOS 上)将其粘贴到 Cloud Shell 会话中。To run any code contained in this article on Azure Cloud Shell, open a Cloud Shell session, use the Copy button on a code block to copy the code, and paste it into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS. 粘贴的文本不会自动执行,因此请按 Enter 运行代码。Pasted text is not automatically executed, so press Enter to run code.

可以通过以下方式启动 Azure Cloud Shell:You can launch Azure Cloud Shell with:

选项Option 示例/链接Example/Link
选择代码块右上角的“试用”。 Select Try It in the upper-right corner of a code block. 这__不__会自动将文本复制到 Cloud Shell。This doesn't automatically copy text to Cloud Shell. Azure Cloud Shell 的“试用”示例
在浏览器中打开 Azure Cloud ShellOpen Azure Cloud Shell in your browser. <a href="https://shell.azure.com" title="启动 Azure Cloud Shell
选择 Azure 门户右上角菜单上的“Cloud Shell” 按钮。Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Azure 门户中的“Cloud Shell”按钮

如果想要在本地使用 Azure CLI,必须安装和使用版本 2.0 或更高版本。If you rather use the Azure CLI locally, you must install and use version 2.0 or a later version. 若要确定 Azure CLI 版本,请运行 az --versionTo determine the Azure CLI version, run az --version. 如需进行安装或升级,请参阅安装 Azure CLIIf you need to install or upgrade, see Install the Azure CLI.

示例脚本Sample script

此示例创建 Azure 函数应用并从 Azure DevOps 部署函数代码。This sample creates an Azure Function app and deploys function code from Azure DevOps.

#!/bin/bash

# Function app and storage account names must be unique.
storageName=mystorageaccount$RANDOM
functionAppName=mygithubfunc$RANDOM

# TODO:
gitrepo=<Replace with your VSTS repo URL, like https://samples.visualstudio.com/DefaultCollection/_git/Function-Quickstart>
token=<Replace with a Visual Studio Team Services personal access token>

# Create a resource group.
az group create \
  --name myResourceGroup \
  --location westeurope 

# Create an Azure storage account.
az storage account create \
  --name $storageName \
  --location westeurope \
  --resource-group myResourceGroup \
  --sku Standard_LRS

# Create a serverless function app.
az functionapp create  \
  --name $functionAppName \
  --storage-account $storageName \
  --consumption-plan-location westeurope \
  --resource-group myResourceGroup

# Set the deployment source to the VSTS repo using the token.
az functionapp deployment source config \
  --name $functionAppName \
  --resource-group myResourceGroup \
  --repo-url $gitrepo \
  --branch master \
  --git-token $token

清理部署Clean up deployment

运行示例脚本后,可以使用以下命令删除资源组以及与其关联的所有资源。After the sample script has been run, the following command can be used to remove the resource group and all resources associated with it.

az group delete --name myResourceGroup

脚本说明Script explanation

此脚本使用以下命令创建资源组、存储帐户、函数应用和所有相关资源。This script uses the following commands to create a resource group, storage account, function app, and all related resources. 表中的每条命令均链接到特定于命令的文档。Each command in the table links to command specific documentation.

命令Command 说明Notes
az group createaz group create 创建用于存储所有资源的资源组。Creates a resource group in which all resources are stored.
az storage account createaz storage account create 创建函数应用所需的存储帐户。Creates the storage account required by the function app.
az functionapp createaz functionapp create 在无服务器消耗计划中创建函数应用。Creates a function app in the serverless consumption plan.
az functionapp deployment source configaz functionapp deployment source config 将 Function App 与 Git 或 Mercurial 存储库相关联。Associates a function app with a Git or Mercurial repository.

后续步骤Next steps

有关 Azure CLI 的详细信息,请参阅 Azure CLI 文档For more information on the Azure CLI, see Azure CLI documentation.

可以在 Azure Functions 文档中找到其他 Azure Functions CLI 脚本示例。Additional Azure Functions CLI script samples can be found in the Azure Functions documentation.