Criar uma Função do Azure que se liga a um Azure Cosmos DB

Este script de exemplo das Funções do Azure cria uma aplicação de funções e liga a função a uma base de dados do Azure Cosmos DB. Faz a ligação utilizando um ponto final Azure Cosmos e chave de acesso que adiciona às definições da aplicação. A definição da aplicação criada que contém a ligação pode ser utilizada com um acionador ou enlace do Azure Cosmos DB.

Se não tiver uma subscrição do Azure, crie uma conta Azure gratuita antes de começar.

Pré-requisitos

Você pode usar o Azure Cloud Shell ou um Azure CLI local.

Script de exemplo

Iniciar o Azure Cloud Shell

O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

Para abrir o Cloud Shell, basta selecionar Experimente no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com.

Quando Cloud Shell abrir, verifique se a Bash está selecionada para o seu ambiente. As sessões subsequentes utilizarão o CLI Azure num ambiente bash, seleciona a Cópia para copiar os blocos de código, colá-lo no Cloud Shell e pressionar Enter para executá-lo.

Iniciar sessão no Azure

Cloud Shell é automaticamente autenticado na conta inicial com a qual se inscreve. Utilize o seguinte script para iniciar sing usando uma subscrição diferente, substituindo <Subscription ID> pelo seu ID de subscrição Azure. Se não tiver uma subscrição do Azure, crie uma conta Azure gratuita antes de começar.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Para obter mais informações, consulte a subscrição ativa definida ou faça login interativamente

Executar o script

# Function app and storage account names must be unique.

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="eastus"
resourceGroup="msdocs-azure-functions-rg-$randomIdentifier"
tag="create-function-app-connect-to-cosmos-db"
storage="msdocsaccount$randomIdentifier"
functionApp="msdocs-serverless-function-$randomIdentifier"
skuStorage="Standard_LRS"
functionsVersion="4"

# Create a resource group
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a storage account for the function app. 
echo "Creating $storage"
az storage account create --name $storage --location "$location" --resource-group $resourceGroup --sku $skuStorage

# Create a serverless function app in the resource group.
echo "Creating $functionApp"
az functionapp create --name $functionApp --resource-group $resourceGroup --storage-account $storage --consumption-plan-location "$location" --functions-version $functionsVersion

# Create an Azure Cosmos DB database account using the same function app name.
echo "Creating $functionApp"
az cosmosdb create --name $functionApp --resource-group $resourceGroup

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

key=$(az cosmosdb keys list --name $functionApp --resource-group $resourceGroup --query primaryMasterKey --output tsv)
echo $key

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

Limpar os recursos

Utilize o seguinte comando para remover o grupo de recursos e todos os recursos que lhe estão associados utilizando o comando de eliminação do grupo AZ - a menos que tenha uma necessidade permanente para estes recursos. Alguns destes recursos podem demorar algum tempo a criar, bem como a eliminar.

az group delete --name $resourceGroup

Referência da amostra

Comando Notas
az group create Criar um grupo de recursos com localização
az storage accounts create Criar uma conta de armazenamento
az functionapp create Cria uma aplicação de função no plano de consumo sem servidor.
az cosmosdb create Crie uma base de dados do Azure Cosmos DB.
az cosmosdb show Obtém a ligação da conta de base de dados.
az cosmosdb list-keys As chaves da base de dados.
az functionapp config conjunto de appsettings Define a cadeia de ligação como uma definição de aplicação na aplicação de função.

Passos seguintes

Para obter mais informações sobre a CLI do Azure, veja Documentação da CLI do Azure.

Mais Funções do Azure amostras de script CLI podem ser encontradas na documentação Funções do Azure.