创建用于连接到 Azure Cosmos DB 的 Azure Function

此 Azure Functions 示例脚本先创建一个函数应用,然后将该函数连接到 Azure Cosmos DB 数据库。 创建的应用设置(包含连接)可以与 Azure Cosmos DB 触发器或绑定配合使用。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

  • 如果需要,请安装 Azure CLI 来运行 CLI 参考命令。

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅登录 Azure CLI

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

  • 本教程需要 Azure CLI 版本 2.0 或更高版本。

示例脚本

此示例创建 Azure Function app,并将 Cosmos DB 终结点和访问密钥添加到应用设置。

#!/bin/bash

# Function app and storage account names must be unique.
storageName=mystorageaccount$RANDOM
functionAppName="myfuncwithcosmosdb$RANDOM"
region=chinanorth2

# Create a resource group with location.
az group create \
  --name myResourceGroup \
  --location $region

# Create a storage account for the function app. 
az storage account create \
  --name $storageName \
  --location $region \
  --resource-group myResourceGroup \
  --sku Standard_LRS

# Create a serverless function app in the resource group.
az functionapp create \
  --name $functionAppName \
  --resource-group myResourceGroup \
  --storage-account $storageName \
  --consumption-plan-location $region \
  --functions-version 2

# Create an Azure Cosmos DB database using the same function app name.
az cosmosdb create \
  --name $functionAppName \
  --resource-group myResourceGroup

# Get the Azure Cosmos DB connection string.
endpoint=$(az cosmosdb show \
  --name $functionAppName \
  --resource-group myResourceGroup \
  --query documentEndpoint \
  --output tsv)

key=$(az cosmosdb list-keys \
  --name $functionAppName \
  --resource-group myResourceGroup \
  --query primaryMasterKey \
  --output tsv)

# Configure function app settings to use the Azure Cosmos DB connection string.
az functionapp config appsettings set \
  --name $functionAppName \
  --resource-group myResourceGroup \
  --setting CosmosDB_Endpoint=$endpoint CosmosDB_Key=$key

清理部署

运行示例脚本后,可以使用以下命令删除资源组以及与其关联的所有资源。

az group delete --name myResourceGroup

脚本说明

此脚本使用以下命令:表中的每条命令均链接到特定于命令的文档。

Command 说明
az group create 使用相关位置创建资源组
az storage accounts create 创建存储帐户
az functionapp create 在无服务器消耗计划中创建函数应用。
az cosmosdb create 创建 Azure Cosmos DB 数据库。
az cosmosdb show 获取数据库帐户连接。
az cosmosdb list-keys 获取数据库密钥。
az functionapp config appsettings set 将连接字符串设置为函数应用中的应用设置。

后续步骤

有关 Azure CLI 的详细信息,请参阅 Azure CLI 文档

可以在 Azure Functions 文档中找到其他 Azure Functions CLI 脚本示例。