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

将自定义域映射到 Function AppMap a custom domain to a function app

此示例脚本在应用服务计划中创建函数应用,然后将其映射到你提供的自定义域。This sample script creates a function app in an App Service plan and then maps it to a custom domain that you provide. 当 Function App 托管在高级计划应用服务计划中时,可以使用 CNAME 或 A 记录来映射自定义域。When your function app is hosted in a Premium plan or an App Service plan, you can map a custom domain using either a CNAME or an A record. 对于消耗计划中的函数应用,仅支持 CNAME 选项。For function apps in a Consumption plan, only the CNAME option is supported. 此示例创建一个应用服务计划,并需要一个 A 记录来映射域。This sample creates an App Service plan and requires an A record to map the domain.

若要运行此示例脚本,必须已在自定义域中配置了一个指向 Web 应用的默认域名的 A 记录。To run this sample script, you must have already configured an A record in your custom domain that points to your web app's default domain name. 有关详细信息,请参阅适用于 Azure 应用服务的映射自定义域说明For more information, see the Map custom domain instructions for Azure App Service.

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

使用 Azure Cloud ShellUse Azure Cloud Shell

Azure 托管 Azure Cloud Shell(一个可通过浏览器使用的交互式 shell 环境)。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. 通过 Cloud Shell 可以将 bashPowerShell 与 Azure 服务配合使用。Cloud Shell lets you use either bash or PowerShell to work with Azure services. 可以使用 Azure Cloud Shell 预安装的命令来运行本文中的代码,而不必在本地环境中安装任何内容。You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

若要启动 Azure Cloud Shell,请执行以下操作:To launch Azure Cloud Shell:

选项Option 示例/链接Example/Link
选择代码块右上角的“试用”。 Select Try It in the upper-right corner of a code block. 选择“试用” 不会自动将代码复制到 Cloud Shell。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell 的“试用”示例
转到 https://shell.azure.com 或选择“启动 Cloud Shell” 按钮可在浏览器中打开 Cloud Shell。Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. 在新窗口中启动 Cloud ShellLaunch Cloud Shell in a new window
选择 Azure 门户右上方菜单栏中的“Cloud Shell” 按钮。Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure 门户中的“Cloud Shell”按钮

若要在 Azure Cloud Shell 中运行本文中的代码,请执行以下操作:To run the code in this article in Azure Cloud Shell:

  1. 启动 Cloud Shell。Launch Cloud Shell.

  2. 选择代码块上的“复制”按钮 以复制代码。Select the Copy button on a code block to copy the code.

  3. 在 Windows 和 Linux 上使用 Ctrl+Shift+V 将代码粘贴到 Cloud Shell 会话中,或在 macOS 上使用 Cmd+Shift+V 将代码粘贴到 Cloud Shell 会话中。Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Enter 运行此代码。Press Enter to run the code.

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

示例脚本Sample script

#!/bin/bash

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

# TODO:
# Before starting, go to your DNS configuration UI for your custom domain and follow the 
# instructions at https://aka.ms/appservicecustomdns to configure an A record 
# and point it your web app's default domain name. 
fqdn=<Replace with www.{yourcustomdomain}>

# Create a resource resourceGroupName
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 an App Service plan in Basic tier (minimum required by custom domains).
az appservice plan create \
  --name FunctionAppWithAppServicePlan \
  --resource-group myResourceGroup \
  --location westeurope \
  --sku B1

# Create a Function App
az functionapp create \
  --name $functionAppName \
  --storage-account $storageName \
  --plan FunctionAppWithAppServicePlan \
  --resource-group myResourceGroup
  
# Map your prepared custom domain name to the function app.
az functionapp config hostname add \
  --hostname $functionAppName \
  --resource-group myResourceGroup \
  --name $fqdn

echo "You can now browse to http://$fqdn"

清理部署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: 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 创建 Function App 所需的存储帐户。Creates a storage account required by the function app.
az appservice plan createaz appservice plan create 创建映射自定义域所需的应用服务计划。Creates an App Service plan required to map a custom domain.
az functionapp createaz functionapp create 在应用服务计划中创建函数应用。Creates a function app in the App Service plan.
az functionapp config hostname addaz functionapp config hostname add 将自定义域映射到 Function App。Maps a custom domain to a function app.

后续步骤Next steps

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

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