Gerenciar seu aplicativo de função

No Azure Functions, um aplicativo de função fornece o contexto de execução para suas funções individuais. Os comportamentos do aplicativo de função aplicam-se a todas as funções hospedadas por um determinado aplicativo de função. Todas as funções em um aplicativo de função devem ser do mesmo idioma.

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

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

Introdução ao portal do Azure

Nota

Devido às limitações na edição do código de função no portal do Azure, você deve desenvolver suas funções localmente e publicar seu projeto de código em um aplicativo de função no Azure. Para obter mais informações, consulte Limitações de desenvolvimento no portal do Azure

  1. Para começar, entre no portal do Azure usando sua conta do Azure. Na barra de pesquisa na parte superior do portal, digite o nome do seu aplicativo de função e selecione-o na lista.

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

    Function app overview in the Azure portal

Você pode navegar até tudo o que precisa para gerenciar seu aplicativo de função na página de visão geral, em particular as configurações do aplicativo e os recursos da plataforma.

Trabalhar com configurações de aplicativos

Você pode criar qualquer número de configurações de aplicativo exigidas pelo seu código de função. Há também configurações de aplicativo predefinidas usadas pelo Functions. Para saber mais, consulte a Referência de configurações do aplicativo para o Azure Functions.

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

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

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

A guia Configurações do aplicativo mantém as configurações que são usadas pelo seu aplicativo de função. Você deve selecionar Mostrar valores para ver os valores no portal. Para adicionar uma configuração no portal, selecione Nova configuração do aplicativo e adicione o novo par chave-valor.

Function app settings in the Azure portal.

Usar configurações do aplicativo

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

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

Configurações de implantação de FTPS

O Azure Functions dá suporte à implantação de código de projeto em seu aplicativo de função usando FTPS. Como esse método de implantação requer que você sincronize gatilhos, esse método não é recomendado. Para transferir arquivos de projeto com segurança, use sempre FTPS e não FTP.

Você pode obter as credenciais necessárias para a implantação de FTPS usando um destes métodos:

Você pode obter as credenciais de publicação FTPS no portal do Azure baixando o perfil de publicação para seu aplicativo de função.

Importante

O perfil de publicação contém credenciais de segurança importantes. Você deve sempre proteger o arquivo baixado em seu computador local.

Para baixar o perfil de publicação do seu aplicativo de função:

  1. Selecione a página Visão geral do aplicativo de função e, em seguida, selecione Obter perfil de publicação.

    Download publish profile

  2. Salve e copie o conteúdo do arquivo.

  1. No arquivo, localize o publishProfile elemento com o atributo publishMethod="FTP". Neste elemento, os publishUrlatributos , userName, e userPWD contêm a URL de destino e as credenciais para publicação de FTPS.

Tipo de plano de hospedagem

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

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

Os seguintes valores indicam o tipo de plano:

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

Para determinar o tipo de plano usado pelo seu aplicativo de função, consulte Plano do Serviço de Aplicativo na guia Visão geral do aplicativo de função no portal do Azure. Para ver o nível de preço, selecione o nome do Plano do Serviço de Aplicativo e selecione Propriedades no painel esquerdo.

View scaling plan in the portal

Planejar a migração

Você pode usar o portal do Azure ou os comandos da CLI do Azure para migrar um aplicativo de função entre um plano de Consumo e um plano Premium no Windows. Ao migrar entre planos, tenha em mente as seguintes considerações:

  • Atualmente, não há suporte para a migração direta para um plano Dedicado (Serviço de Aplicativo).
  • A migração não é suportada no Linux.
  • O plano de origem e o plano de destino devem estar no mesmo grupo de recursos e região geográfica. Para obter mais informações, consulte Mover um aplicativo para outro plano do Serviço de Aplicativo.
  • Os comandos específicos da CLI dependem da direção da migração.
  • O tempo de inatividade em suas execuções de função ocorre quando o aplicativo de função é migrado entre planos.
  • O estado e outro conteúdo específico do aplicativo são mantidos, já que o mesmo compartilhamento de Arquivos do Azure é usado pelo aplicativo antes e depois da migração.

Migração no portal

No portal do Azure, navegue até seu aplicativo de plano Consumo ou Premium e escolha Alterar plano do Serviço de Aplicativo em Plano do Serviço de Aplicativo. Selecione o outro tipo de Plano, crie um novo plano do Serviço de Aplicativo do novo tipo e selecione OK. Para obter mais informações, consulte Mover um aplicativo para outro plano do Serviço de Aplicativo.

Consumo a Premium

Use o procedimento a seguir para migrar de um plano de consumo para um plano Premium no Windows:

  1. Execute o comando az functionapp plan create da seguinte forma para criar um novo plano do Serviço de Aplicativo (Elastic Premium) na mesma região e grupo de recursos que seu aplicativo de função existente:

    az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
    
  2. Execute o comando az functionapp update da seguinte forma para migrar o aplicativo de função existente para o novo plano Premium:

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Se você não precisar mais do seu plano de aplicativo de função de consumo anterior, exclua seu plano de aplicativo de função original depois de confirmar que migrou com êxito para o novo. Execute o comando az functionapp plan list da seguinte forma para obter uma lista de todos os planos de consumo no seu 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 com zero sites, que é aquele do qual você migrou.

  4. Execute o comando az functionapp plan delete da seguinte forma para excluir o plano de consumo do qual você migrou.

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

Premium ao Consumo

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

  1. Execute o comando az functionapp plan create da seguinte forma para criar um novo aplicativo de função (Consumo) na mesma região e grupo de recursos que seu aplicativo de função existente. Este comando também cria um novo plano de consumo no qual o aplicativo de função é 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 az functionapp update da seguinte forma para migrar o aplicativo de função existente para o novo plano de consumo.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN> --force
    
  3. Execute o comando az functionapp delete da seguinte forma para excluir o aplicativo de função que você criou na etapa 1, já que você só precisa do plano que foi criado para executar o aplicativo de função existente.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Se você não precisar mais do seu plano de aplicativo de função Premium anterior, exclua seu plano de aplicativo de função original depois de confirmar que migrou com sucesso para o novo. Até que o plano Premium seja excluído, você continuará a ser cobrado por ele. Execute o comando az functionapp plan list da seguinte forma para obter uma lista de todos os planos Premium no seu 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 az functionapp plan delete da seguinte forma para excluir o plano Premium do qual você migrou.

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

Obtenha as teclas de acesso à sua função

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

  1. Entre no portal do Azure e, em seguida, procure e selecione Aplicativo de função.

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

  3. No painel de navegação esquerdo, em Funções, selecione Teclas do aplicativo.

    Isso retorna as chaves de host, que podem ser usadas para acessar qualquer função no aplicativo. Ele também retorna a chave do sistema, que dá a qualquer pessoa acesso de nível de administrador às APIs de todos os aplicativos funcionais.

Você também pode praticar o menor privilégio usando a tecla apenas para a tecla de função específica, selecionando Teclas de função em Desenvolvedor em sua função acionada por HTTP.

Limitações de desenvolvimento no portal do Azure

Você deve considerar essas limitações ao desenvolver suas funções no portal do Azure:

  • A edição no portal só é suportada para funções JavaScript, PowerShell, Python e C# Script.
  • A edição no portal Python só é suportada quando executada no plano de consumo.
  • Atualmente, a edição no portal só é suportada para funções que foram criadas ou modificadas pela última vez no portal.
  • Quando você implanta código em um aplicativo de função de fora do portal, não pode mais editar nenhum código para esse aplicativo de função no portal. Neste caso, basta continuar a utilizar o desenvolvimento local.
  • Para funções C# compiladas, funções Java e algumas funções Python, você pode criar o aplicativo de função e recursos relacionados no portal. No entanto, você deve criar o projeto de código de funções localmente e, em seguida, publicá-lo no Azure.

Quando possível, você deve desenvolver suas funções localmente e publicar seu projeto de código em um aplicativo de função no Azure. Para obter mais informações, consulte Codificar e testar o Azure Functions localmente.

Instalar extensões manualmente

As funções da biblioteca de classes C# podem incluir os pacotes NuGet para extensões de vinculação diretamente no projeto da biblioteca de classes. Para outras linguagens non-.NET e script C#, você deve usar pacotes de extensão. Se tiver de instalar manualmente extensões, pode fazê-lo utilizando localmente as Ferramentas Principais do Azure Functions. Se você não pode usar pacotes de extensão e só pode trabalhar no portal, você precisa usar Ferramentas Avançadas (Kudu) para criar manualmente o arquivo extensions.csproj diretamente no site. Certifique-se de remover primeiro o extensionBundle elemento do arquivo host.json.

Esse mesmo processo funciona para qualquer outro arquivo que você precise adicionar ao seu aplicativo.

Importante

Quando possível, você não deve editar arquivos diretamente em seu aplicativo de função no Azure. Recomendamos baixar os arquivos do aplicativo localmente, usar as Ferramentas Principais para instalar extensões e outros pacotes, validar as alterações e, em seguida , republicar seu aplicativo usando as Ferramentas Principais ou um dos outros métodos de implantação suportados.

O editor de Funções incorporado no portal do Azure permite-lhe atualizar o código de função e os ficheiros de configuração diretamente no portal.

  1. Selecione seu aplicativo de função e, em Funções , selecione Funções.
  2. Escolha sua função e selecione Código + teste em Desenvolvedor.
  3. Escolha seu arquivo para editar e selecione Salvar quando terminar.

Os arquivos na raiz do aplicativo, como function.proj ou extensions.csproj precisam ser criados e editados usando as Ferramentas Avançadas (Kudu).

  1. Selecione seu aplicativo de função e, em Ferramentas de desenvolvimento, selecione Ferramentas>avançadas Ir.

  2. Se solicitado, entre no site do SCM com suas credenciais do Azure.

  3. No menu Depurar console , escolha CMD.

  4. Navegue até .\site\wwwroot, selecione o botão de adição (+) na parte superior e selecione Novo arquivo.

  5. Nomeie o arquivo, como extensions.csproj e pressione Enter.

  6. Selecione o botão de edição ao lado do novo arquivo, adicione ou atualize o código no arquivo e selecione Salvar.

  7. Para um arquivo de projeto como extensions.csproj, execute o seguinte comando para reconstruir o projeto de extensões:

    dotnet build extensions.csproj
    

Funcionalidades de plataforma

Os aplicativos de função são executados e mantidos pela plataforma do Serviço de Aplicativo do Azure. Como tal, as suas aplicações funcionais têm acesso à maioria das funcionalidades da principal plataforma de alojamento Web do Azure. Ao trabalhar no portal do Azure, o painel esquerdo é onde você acessa os vários recursos da plataforma do Serviço de Aplicativo que você pode usar em seus aplicativos de função.

A matriz a seguir indica o suporte a recursos do portal por plano de hospedagem e sistema operacional:

Caraterística Plano de consumo Plano Premium Plano dedicado
Ferramentas avançadas (Kudu) Janelas: ✔
Linux: X
Editor do Serviço de Aplicativo Janelas: ✔
Linux: X
Janelas: ✔
Linux: X
Janelas: ✔
Linux: X
Cópias de segurança X X
Consola Windows: linha de comando
Linux: X
Windows: linha de comando
Linux: SSH
Windows: linha de comando
Linux: SSH

O restante deste artigo se concentra nos seguintes recursos no portal que são úteis para seus aplicativos de função:

Para obter mais informações sobre como trabalhar com as configurações do Serviço de Aplicativo, consulte Definir configurações do Serviço de Aplicativo do Azure.

Editor do Serviço de Aplicativo

The App Service editor

O editor do Serviço de Aplicativo é um editor avançado no portal que você pode usar para modificar arquivos de configuração JSON e arquivos de código. Escolher esta opção abre uma guia separada do navegador com um editor básico. Isso permite que você se integre ao repositório Git, execute e depure código e modifique as configurações do aplicativo de função. Este editor fornece um ambiente de desenvolvimento aprimorado para suas funções em comparação com o editor de funções integrado.

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

Consola

Function app console

O console no portal é uma ferramenta de desenvolvedor ideal quando você prefere interagir com seu aplicativo de função a partir da linha de comando. Os comandos comuns incluem a criação e navegação de diretórios e arquivos, bem como a execução de arquivos em lote e scripts.

Ao desenvolver localmente, recomendamos usar as Ferramentas Principais do Azure Functions e a CLI do Azure.

Ferramentas avançadas (Kudu)

Configure Kudu

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

Centro de Implementação

Quando você usa uma solução de controle do código-fonte para desenvolver e manter seu código de funções, o Centro de Implantação permite criar e implantar a partir do controle do código-fonte. Seu projeto é criado e implantado no Azure quando você faz atualizações. Para obter mais informações, consulte Tecnologias de implantação no Azure Functions.

Partilha de recursos de várias origens

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

Portal

Quando você configura a lista Origens permitidas para seu aplicativo de função, o Access-Control-Allow-Origin cabeçalho é adicionado automaticamente a todas as respostas de pontos de extremidade HTTP em seu aplicativo de função.

Configure function app's CORS list

O curinga (*) será ignorado se houver outra entrada de domínio.

Use o az functionapp cors add comando para adicionar um domínio à lista de origens permitidas. O exemplo a seguir 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 az functionapp cors show comando para listar as origens permitidas atuais.

Autenticação

Configure authentication for a function app

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

Próximos passos