Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como criar um aplicativo do Azure Functions nos Aplicativos de Contêiner do Azure, com regras de dimensionamento automático pré-configuradas.
Pré-requisitos
| Recurso | Descrição |
|---|---|
| Conta do Azure | Uma conta do Azure com uma assinatura ativa. Se você não tiver uma conta, é possível criar uma gratuitamente. |
| Conta de Armazenamento do Azure | Uma conta de armazenamento de blobs para armazenar o estado de suas Funções do Azure. |
| Azure Application Insights | Uma instância do Azure Application Insights para coletar dados sobre seu aplicativo de contêiner. |
Criar um aplicativo do Functions
As etapas a seguir mostram como usar uma imagem de contêiner de exemplo para criar seu aplicativo de contêiner. Se você quiser usar esse procedimento com uma imagem de contêiner personalizada, consulte Criar seu primeiro aplicativo de funções nos Aplicativos de Contêiner do Azure.
Acesse o portal do Azure e pesquise aplicativos de contêiner na barra de pesquisa.
Selecione Aplicativos de Contêiner.
Selecione Criar.
Selecione Aplicativo de Contêiner.
Na seção Noções básicas, insira os valores a seguir.
Em Detalhes do projeto:
Propriedade Valor Subscrição Selecione sua assinatura do Azure. Grupo de recursos Selecione Criar novo grupo de recursos, nomeie-o como my-aca-functions-group e selecione OK. Nome do aplicativo de contêiner Acesse my-aca-functions-app. Marque a caixa de seleção ao lado de Otimizar para o Azure Functions.
Em Ambiente de Aplicativos de Contêiner, insira:
Propriedade Valor Região Selecione a região mais próxima de você. Ambiente de Aplicativos de Contêiner Selecione Criar novo ambiente. Na janela de configuração do ambiente, insira:
Propriedade Valor Nome do ambiente Insira my-aca-functions-environment Redundância de zona Selecione Desabilitado. Selecione Criar para salvar seus valores.
Selecione Avançar: Contêiner para alternar para a seção Contêiner .
Ao lado de Usar a imagem de início rápido, deixe esta caixa desmarcada.
Na seção Detalhes do contêiner , insira os valores a seguir.
Propriedade Valor Nome Esta caixa é preenchida previamente com sua seleção na seção anterior. Fonte da imagem Selecione o Hub do Docker ou outros registros Subscrição Selecione sua assinatura. Tipo de Imagem Selecione Público. Servidor de logon do registro Insira mcr.microsoft.com Imagem e marca Insira k8se/quickstart-functions:latest Em Variáveis de ambiente, insira valores para as seguintes variáveis:
AzureWebJobsStorage-
APPINSIGHTS_INSTRUMENTATIONKEYouAPPLICATIONINSIGHTS_CONNECTION_STRING
Insira valores de cadeia de conexão ou identidade gerenciada para essas variáveis. Use a identidade gerenciada.
A variável
AzureWebJobsStorageé uma cadeia de conexão obrigatória da conta de Armazenamento do Azure para Azure Functions. Essa conta de armazenamento armazena logs de execução de função, gerencia gatilhos e associações e mantém o estado para funções duráveis.O Application Insights é um serviço de monitoramento e diagnóstico que fornece insights sobre o desempenho e o uso do Azure Functions. Esse monitoramento ajuda você a acompanhar as taxas de solicitação, os tempos de resposta, as taxas de falha e outras métricas.
Selecione Próximo > Ingress para alternar para a seção Ingress e insira os valores a seguir.
Propriedade Valor Entrada Selecione a caixa de seleção Habilitada para habilitar a entrada. Tráfego de entrada Selecione Aceitar tráfego de qualquer lugar. Tipo de entrada Selecione HTTP. Porta de destino Insira 80. Selecione Examinar + criar.
Selecione Criar.
Após a conclusão da implantação, selecione Ir para o recurso.
Na página Visão geral , selecione o link ao lado da URL do Aplicativo para abrir o aplicativo em uma nova guia do navegador.
Acrescente
/api/HttpExampleao final da URL.Uma mensagem informando que "a função de gatilho HTTP processou uma solicitação" é retornada no navegador.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa.
- Se você ainda não tiver uma conta do Azure, poderá criar uma conta gratuitamente.
- A CLI do Azure instalada.
Criar um aplicativo do Functions
Para entrar no Azure usando a CLIl, execute o comando a seguir e siga os prompts para concluir o processo de autenticação.
Inicie sessão no Azure.
az loginPara garantir que você esteja executando a versão mais recente da CLI, execute o comando “upgrade”.
az upgradeInstale ou atualize a extensão do Azure Container Apps para a CLI.
Se você receber erros sobre parâmetros ausentes ao executar comandos na
az containerappCLI do Azure ou cmdlets do móduloAz.Appno PowerShell, verifique se a versão mais recente da extensão Aplicativos de Contêiner do Azure está instalada.az extension add --name containerapp --allow-preview true --upgradeAgora que a extensão ou módulo atual está instalado, registre os namespaces
Microsoft.AppeMicrosoft.OperationalInsights.az provider register --namespace Microsoft.Appaz provider register --namespace Microsoft.OperationalInsightsCriar variáveis de ambiente.
RESOURCE_GROUP_NAME="my-aca-functions-group" CONTAINER_APP_NAME="my-aca-functions-app" ENVIRONMENT_NAME="my-aca-functions-environment" LOCATION="westus" STORAGE_ACCOUNT_NAME="storage-account-name" STORAGE_ACCOUNT_SKU="storage-account-sku" APPLICATION_INSIGHTS_NAME="application-insights-name"Crie um grupo de recursos.
az group create \ --name $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneCrie o ambiente dos Aplicativos de Contêiner.
az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP_NAME \ --location $LOCATION \ --output noneCriar a conta de armazenamento
az storage account create \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --sku $STORAGE_ACCOUNT_SKUObter string de conexão da conta de armazenamento
$STORAGE_ACCOUNT_CONNECTION_STRING = az storage account show-connection-string \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvCriar Application Insights no Azure
az monitor app-insights component create \ --app $APPLICATION_INSIGHTS_NAME \ --location $LOCATION \ --resource-group $RESOURCE_GROUP \ --application-type webAdquirir string de conexão do Application Insights
$APPLICATION_INSIGHTS_CONNECTION_STRING = az monitor app-insights component show \ --app $APPLICATION_INSIGHTS_NAME \ --resource-group $RESOURCE_GROUP \ --query connectionString \ --output tsvCrie um aplicativo de contêiner do Azure Functions.
az containerapp create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_APP_NAME \ --environment $ENVIRONMENT_NAME \ --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0 \ --ingress external \ --target-port 80 \ --kind functionapp \ --query properties.outputs.fqdnEsse comando retorna a URL do aplicativo functions. Copie essa URL e cole-a em um navegador da Web.
Criar um aplicativo de contêiner do Azure Functions com
--revisions-mode multiplepara cenário de multirrevisãoaz containerapp create \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $CONTAINERAPPS_ENVIRONMENT \ --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:1.0 \ --target-port 80 \ --ingress external \ --kind functionapp \ --workload-profile-name $WORKLOAD_PROFILE_NAME \ --env-vars AzureWebJobsStorage="$STORAGE_ACCOUNT_CONNECTION_STRING" APPLICATIONINSIGHTS_CONNECTION_STRING="$APPLICATION_INSIGHTS_CONNECTION_STRING"Para o cenário de multirrevisão, atualize o ContainerApp e divida o tráfego
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CONTAINERAPP_NAME \ --image mcr.microsoft.com/azure-functions/dotnet8-quickstart-demo:latest az containerapp ingress traffic set -resource-group \ --name $CONTAINERAPP_NAME \ --resource-group $RESOURCE_GROUP \ --revision-weight {revision1_name}=50 \ --revision-weight {revision2_name}=50Acrescente
/api/HttpExampleao final da URL.Uma mensagem informando que "a função de gatilho HTTP processou uma solicitação" é retornada no navegador.