Gerenciar seu aplicativo de funções

No Azure Functions, um aplicativo de funções fornece o contexto de execução para suas funções individuais. Os comportamentos do aplicativo de funções se aplicam a todas as funções hospedadas por um aplicativo função de determinada. Todas as funções de um aplicativo de funções precisam ser da mesma linguagem.

As funções individuais em um aplicativo de funções são implantadas e escaladas juntas. Todas as funções do mesmo aplicativo de funções compartilham recursos, por instância, à medida que o aplicativo de funções é escalado.

Cadeias de conexão, variáveis de ambiente e outras configurações de aplicativo são definidas separadamente para cada aplicativo de funções. Todos os dados que precisam ser compartilhados entre os aplicativos de funções precisam ser armazenados externamente em um repositório persistente.

Introdução ao portal do Azure

  1. Acesse o portal do Azure e entre usando sua conta do Azure. Na barra de pesquisa na parte superior do portal, insira o nome do seu aplicativo de funções e selecione-o na lista.

  2. Em Configurações no painel esquerdo, selecione Configuração.

    Visão geral do aplicativo de funções no portal do Azure

Procure tudo de que precisa para gerenciar seu aplicativo de funções na página de visão geral, em particular, as Configurações de aplicativo e os Recursos da plataforma .

Trabalhar com as configurações de aplicativo

Você pode criar qualquer número de configurações de aplicativo exigidas pelo código de função. Também há configurações de aplicativo predefinidas usadas pelas Funções. Para saber mais, consulte Referência das configurações de aplicativos para o Azure Functions.

Essas configurações são armazenadas criptografadas. Para saber mais, confira Segurança das configurações de aplicativo.

As configurações de aplicativo podem ser gerenciadas no portal do Azure e usando a CLI do Azure e o Azure PowerShell. Gerencie também as configurações de aplicativo no Visual Studio Code e no Visual Studio.

Para localizar as configurações de aplicativo, confira Introdução ao portal do Azure.

A guia Configurações de aplicativo mantém as configurações usadas pelo aplicativo de funções. É necessário selecionar Mostrar valores para ver os valores no portal. Para adicionar uma configuração no portal, selecione Nova configuração de aplicativo e adicione o novo par chave-valor.

Configurações do aplicativo de funções no portal do Azure.

Usar configurações de aplicativo

Os valores de configuração do aplicativo de funções também podem ser lidos em seu código como variáveis de ambiente. Para obter mais informações, confira a seção de variáveis de Ambiente desses tópicos de referência específicos de linguagem:

Ao desenvolver um aplicativo de funções localmente, você precisa manter cópias locais desses valores no arquivo de projeto local.settings.json. Para saber mais, confira Arquivo de configurações local.

Tipo de plano de hospedagem

Ao criar um aplicativo de funções, você também cria um plano de hospedagem no qual o aplicativo é executado. Um plano pode ter um ou mais aplicativos de funções. A funcionalidade, o dimensionamento e o preço das funções dependem do tipo de plano. Para saber mais, confira Opções de hospedagem do Azure Functions.

Você pode determinar o tipo de plano que está sendo usado pelo aplicativo de funções no portal do Azure ou usando as APIs da CLI do Azure ou do Azure PowerShell.

Os seguintes valores indicam o tipo de plano:

Tipo de plano Portal CLI do Azure/PowerShell
Consumo Consumo Dynamic
Premium ElasticPremium ElasticPremium
Dedicado (Serviço de Aplicativo) Vários Vários

Para determinar o tipo de plano usado pelo aplicativo de funções, confira Plano do Serviço de Aplicativo na guia Visão geral do aplicativo de funções no portal do Azure. Para ver o tipo de preço, selecione o nome do Plano do Serviço de Aplicativo e escolha Propriedades no painel esquerdo.

Exibir o plano de dimensionamento no portal

Planejar a migração

Use os comandos da CLI do Azure para migrar um aplicativo de funções entre um plano de Consumo e um plano Premium no Windows. Os comandos específicos dependem da direção da migração. Atualmente, não há suporte à migração direta para um plano Dedicado (Serviço de Aplicativo).

Não há suporte para essa migração no Linux.

Consumo para Premium

Use o seguinte procedimento para migrar de um plano de Consumo para um plano Premium no Windows:

  1. Execute o comando a seguir para criar um Plano do Serviço de Aplicativo (Premium Elástico) na mesma região e no mesmo grupo de recursos do aplicativo de funções existente.

    az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
    
  2. Execute o comando a seguir para migrar o aplicativo de funções existente para o novo plano Premium

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Se não precisar mais do plano de Consumo anterior do aplicativo de funções, exclua o plano original do aplicativo de funções depois de confirmar que você migrou com êxito para o novo. Execute o comando a seguir para obter uma lista de todos os planos de Consumo no grupo de recursos.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='Y'].{PlanName:name,Sites:numberOfSites}" -o table
    

    Você pode excluir com segurança o plano sem nenhum site, que é aquele do qual você fez a migração.

  4. Execute o comando a seguir para excluir o plano de Consumo do qual você fez a migração.

    az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
    

Premium para Consumo

Use o seguinte procedimento para migrar de um plano Premium para um plano de Consumo no Windows:

  1. Execute o comando a seguir para criar um aplicativo de funções (Consumo) na mesma região e no mesmo grupo de recursos do aplicativo de funções existente. Esse comando também cria um plano de Consumo no qual o aplicativo de funções será executado.

    az functionapp create --resource-group <MY_RESOURCE_GROUP> --name <NEW_CONSUMPTION_APP_NAME> --consumption-plan-location <REGION> --runtime dotnet --functions-version 3 --storage-account <STORAGE_NAME>
    
  2. Execute o comando a seguir para migrar o aplicativo de funções existente para o novo plano de Consumo.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN>
    
  3. Exclua o aplicativo de funções criado na etapa 1, pois você só precisa do plano que foi criado para executar o aplicativo de funções existente.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Se não precisar mais do plano Premium anterior do aplicativo de funções, exclua o plano original do aplicativo de funções depois de confirmar que você migrou com êxito para o novo. Observe que, se o plano não for excluído, você ainda será cobrado pelo plano Premium. Execute o comando a seguir para obter uma lista de todos os planos Premium no grupo de recursos.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
    
  5. Execute o comando a seguir para excluir o plano Premium do qual você fez a migração.

    az functionapp plan delete --name <PREMIUM_PLAN> --resource-group <MY_RESOURCE_GROUP>
    

Obter chaves de acesso de função

As funções disparadas por HTTP geralmente podem ser chamadas usando uma URL no formato: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Quando a autorização da função é definida como um valor diferente de anonymous, é necessário fornecer também uma chave de acesso em sua solicitação. A chave de acesso pode ser fornecida na URL usando a cadeia de caracteres de consulta ?code= ou no cabeçalho de solicitação. Para saber mais, confira Chaves de acesso da função. Existem várias maneiras de obter as chaves de acesso.

  1. Entre no portal do Azure, em seguida, procure e selecione Aplicativo de Funções.

  2. Selecione a função que você deseja verificar.

  3. No painel de navegação à esquerda em Funções, selecione Chaves de aplicativo.

    As chaves de host são fornecidas e podem ser usadas para acessar funções no aplicativo. A chave do sistema também é fornecida e concede acesso de nível de administrador a todas as APIs do aplicativo de funções.

Também é possível exercer o mínimo de privilégios usando a chave apenas com a chave de função específica selecionando Chaves de função em Desenvolvedor em sua função disparada por HTTP.

Recursos da plataforma

Os aplicativos de funções são executados na plataforma do Serviço de Aplicativo do Azure e mantidos por ela. Dessa forma, seus aplicativos de funções têm acesso à maioria dos recursos da principal plataforma de hospedagem na Web do Azure. O painel esquerdo é o local em que você acessa os vários recursos da plataforma do Serviço de Aplicativo para uso nos seus aplicativos de funções.

Observação

Nem todos os recursos do Serviço de Aplicativo estão disponíveis quando um aplicativo de funções é executado no plano de hospedagem de Consumo.

O restante deste artigo tem como foco os seguintes recursos do Serviço de Aplicativo no portal do Azure que são úteis para o Functions:

Para saber mais sobre como trabalhar com configurações da Serviço de Aplicativo, confira Definir configurações do Serviço de Aplicativo do Azure.

Editor do Serviço de Aplicativo

O Editor de Serviço de Aplicativo

O Editor do Serviço de Aplicativo é um editor avançado dentro do portal que você pode usar para modificar arquivos de configuração JSON e arquivos de código. Escolher essa opção inicia uma nova guia do navegador com um editor básico. Isso permite que você se integre ao repositório do Git, execute e depure código, além de modificar as configurações do aplicativos de funções. Esse editor fornece um ambiente de desenvolvimento avançado para suas funções em comparação com o editor de funções interno.

Recomendamos que você considere o desenvolvimento de funções no computador local. Quando você as desenvolve localmente e as publica no Azure, os arquivos de projeto são somente leitura no portal. Para saber mais, confira Codificar e testar o Azure Functions localmente.

Console

Console do aplicativo de funções

O console no portal é uma ferramenta ideal de desenvolvimento quando você preferir interagir com seu aplicativo de funções na linha de comando. Os comandos comuns incluem criação e navegação de diretório e arquivo, bem como execução scripts e arquivos em lote.

No desenvolvimento local, recomendamos usar o Azure Functions Core Tools e a CLI do Azure.

Ferramentas avançadas (Kudu)

Configurar Kudu

As ferramentas avançadas para o Serviço de Aplicativo (também conhecidas como Kudu) fornecem acesso a recursos administrativos avançados de seu aplicativo de funções. No Kudu, você pode gerenciar informações do sistema, configurações do aplicativo, variáveis de ambiente, extensões do site, cabeçalhos HTTP e variáveis de servidor. Você também pode iniciar o Kudu navegando até o ponto de extremidade SCM de seu aplicativo de funções, comohttps://<myfunctionapp>.scm.azurewebsites.net/

Centro de Implantação

Quando você usa uma solução de controle do código-fonte para desenvolver e manter o código de funções, o Centro de Implantação permite compilá-lo e implantá-lo por meio do controle do código-fonte. Seu projeto é compilado e implantado no Azure quando você faz atualizações. Para obter mais informações, confira Tecnologias de implantação do Azure Functions.

Compartilhamento de recursos entre origens

Para evitar a execução de código mal-intencionado no cliente, os navegadores modernos bloqueiam as solicitações de aplicativos Web para recursos em execução em um domínio separado. O CORS (compartilhamento de recursos entre origens) permite que um cabeçalho Access-Control-Allow-Origin declare quais origens têm permissão para chamar pontos de extremidade no seu aplicativo de funções.

Portal

Quando você configura a lista de Origens permitidas do aplicativo de funções, o cabeçalho Access-Control-Allow-Origin é automaticamente adicionado a todas as respostas de pontos de extremidade HTTP no aplicativo de funções.

Configurar a lista CORS do aplicativo de funções

Quando o curinga (*) é usado, todos os outros domínios são ignorados.

Use o comando az functionapp cors add para adicionar um domínio à lista de origens permitidas. O seguinte exemplo adiciona o domínio contoso.com:

az functionapp cors add --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--allowed-origins https://contoso.com

Use o comando az functionapp cors show para listar as origens permitidas atuais.

Autenticação

Configurar a autenticação para um aplicativo de funções

Quando as funções usam um gatilho HTTP, você pode exigir que as chamadas sejam autenticadas primeiro. O Serviço de Aplicativo dá suporte à autenticação do Azure Active Directory e à entrada com provedores sociais, como o Facebook, a Microsoft e o Twitter. Para obter detalhes sobre como configurar provedores de autenticação específicos, consulte Visão geral de autenticação do serviço de aplicativo do Azure.

Próximas etapas