Gerencie a sua aplicação de função

Em Funções do Azure, uma aplicação de função fornece o contexto de execução para as suas funções individuais. Os comportamentos da aplicação de função aplicam-se a todas as funções hospedadas por uma determinada aplicação de função. Todas as funções numa aplicação de função devem ser do mesmo idioma.

As funções individuais numa aplicação de função são implementadas em conjunto e são dimensionadas em conjunto. Todas as funções na mesma função a aplicação partilham recursos, por exemplo, à medida que a tabela de aplicações de função.

As cadeias de ligação, as variáveis ambientais e outras definições de aplicação são definidas separadamente para cada aplicação de função. Quaisquer dados que devam ser partilhados entre aplicações de função devem ser armazenados externamente numa loja persistiu.

Começar a utilizar o portal do Azure

  1. Para começar, vá ao portal do Azure e inscreva-se na sua conta Azure. Na barra de pesquisa no topo do portal, insira o nome da sua aplicação de função e selecione-a da lista.

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

    Function app overview in the Azure portal

Pode navegar para tudo o que necessita para gerir a sua aplicação de função a partir da página geral, em particular as definições de Aplicação e funcionalidades da Plataforma.

Trabalhar com configurações de aplicações

Pode criar qualquer número de definições de aplicação requeridas pelo seu código de função. Existem também configurações de aplicação predefinidas utilizadas por Funções. Para saber mais, consulte a referência de definições da App para Funções do Azure.

Estas definições são armazenadas encriptadas. Para saber mais, consulte a segurança das definições de aplicação.

As definições de aplicação podem ser geridas a partir do portal do Azure e utilizando o CLI Elíure e o Azure PowerShell. Também pode gerir as definições de aplicações a partir de Visual Studio Código e a partir de Visual Studio.

Para encontrar as definições de aplicação, consulte Introdução no portal do Azure.

O separador de definições de aplicação mantém as definições que são utilizadas pela sua aplicação de função. Tem de selecionar valores de 'Mostrar' para ver os valores no portal. Para adicionar uma definição no portal, selecione nova definição de aplicação e adicione o novo par de valor-chave.

Function app settings in the Azure portal.

Utilizar as definições de aplicações

Os valores de definição de aplicação de função também podem ser lidos no seu código como variáveis ambientais. Para mais informações, consulte a secção de variáveis ambientais destes tópicos de referência específicos da linguagem:

Quando desenvolver uma aplicação de função localmente, deve manter cópias locais destes valores no ficheiro do projeto local.settings.json. Para saber mais, consulte o ficheiro de configurações locais.

Tipo de plano de hospedagem

Ao criar uma aplicação de função, também cria um plano de hospedagem no qual a aplicação é executado. Um plano pode ter uma ou mais aplicações de função. A funcionalidade, a escala e o preço das suas funções dependem do tipo de plano. Para saber mais, consulte Funções do Azure opções de hospedagem.

Pode determinar o tipo de plano que está a ser utilizado pela sua aplicação de função a partir do portal do Azure, ou utilizando o Azure CLI ou Azure PowerShell APIs.

Os seguintes valores indicam o tipo de plano:

Tipo de plano Portal Azure CLI/PowerShell
Consumo Consumo Dynamic
Premium Premônio Elástico ElasticPremium
Dedicado (Serviço de Aplicações) Vários Vários

Para determinar o tipo de plano utilizado pela sua aplicação de função, consulte Serviço de Aplicações plano no separador Visão Geral para a aplicação de função no portal do Azure. Para ver o nível de preços, selecione o nome do Plano de Serviço de Aplicações e, em seguida, selecione Propriedades a partir do painel esquerdo.

View scaling plan in the portal

Plano de migração

Pode utilizar comandos Azure CLI para migrar uma aplicação de função entre um plano de consumo e um plano de Premium no Windows. Os comandos específicos dependem da direção da migração. A migração direta para um plano dedicado (Serviço de Aplicações) não é atualmente apoiada.

Esta migração não é apoiada em Linux.

Consumo a Premium

Utilize o seguinte procedimento para migrar de um plano de consumo para um plano Premium em Windows:

  1. Executar o plano az functionapp criar o comando da seguinte forma para criar um novo plano de Serviço de Aplicações (Elástico Premium) na mesma região e grupo de recursos que a sua app de função existente:

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

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Se já não precisar do seu plano de aplicações de função Consumo anterior, elimine o seu plano de aplicações de função original depois de confirmar que emigrou com sucesso para o novo. Executar o comando da lista de planos az functionapp 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
    

    Pode eliminar com segurança o plano com zero sites, que é aquele de onde emigrou.

  4. Executar o plano az functionapp eliminar o comando da seguinte forma para eliminar o plano de Consumo de que emigrou.

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

Premium ao Consumo

Utilize o seguinte procedimento para migrar de um plano de Premium para um plano de consumo Windows:

  1. Executar o plano az functionapp criar o comando da seguinte forma para criar uma nova app de função (Consumo) na mesma região e grupo de recursos que a sua app de função existente. Este comando também cria um novo plano de Consumo no qual a aplicação 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. Executar o comando de atualização az functionapp da seguinte forma para migrar a app 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. Executar o comando de exclusão de funções az da seguinte forma para eliminar a aplicação de função que criou no passo 1, uma vez que só precisa do plano que foi criado para executar a aplicação de função existente.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Se já não precisar do plano de aplicações de função Premium anterior, elimine o seu plano de aplicações de função original depois de confirmar que emigrou com sucesso para o novo. Por favor, note que se o plano não for apagado, ainda será cobrado pelo plano Premium. Executar o comando da lista de planos az functionapp 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. Executar o plano az functionapp eliminar o comando da seguinte forma para eliminar o plano de Premium de onde emigrou.

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

Obtenha as teclas de acesso à sua função

As funções desencadeadas HTTP podem geralmente ser chamadas utilizando um URL no formato: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Quando a autorização para a sua função for definida um valor diferente, anonymoustambém deve fornecer uma chave de acesso no seu pedido. A chave de acesso pode ser fornecida no URL utilizando a ?code= cadeia de consulta ou no cabeçalho de pedido. Para saber mais, consulte as teclas de acesso à função. Há várias formas de obter as chaves de acesso.

  1. Inscreva-se no portal do Azure e, em seguida, procure e selecione App de função.

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

  3. Na navegação à esquerda em Funções, selecione as teclas de aplicação.

    Isto devolve as teclas de anfitrião, que podem ser usadas para aceder a qualquer função na aplicação. Também devolve a chave do sistema, o que dá a qualquer administrador acesso a todas as APIs de aplicações de função.

Também pode praticar o menor privilégio utilizando a chave apenas para a tecla de função específica selecionando teclas de função no Programador na sua função detonada HTTP.

Instalar manualmente extensões

As funções da biblioteca de classes C# podem incluir os pacotes NuGet para extensões de ligação diretamente no projeto da biblioteca de classes. Para outros non-.NET idiomas e script C#, a forma recomendada de instalar extensões é utilizando pacotes de extensão ou utilizando Funções do Azure Core Tools localmente. Se não puder utilizar pacotes de extensão e só puder trabalhar no portal, tem de utilizar Ferramentas Avançadas (Kudu) para criar manualmente o ficheiro extensions.csproj diretamente no site. Certifique-se de que remove primeiro o extensionBundle elemento do ficheiro host.json.

Este mesmo processo funciona para qualquer outro ficheiro que necessite de adicionar à sua aplicação.

Importante

Quando possível, não deve editar ficheiros diretamente na sua aplicação de função no Azure. Recomendamos o download local dos seus ficheiros de aplicações, utilizando o Core Tools para instalar extensões e outros pacotes, validando as suas alterações e, em seguida, reeditando a sua aplicação utilizando As Ferramentas Core ou um dos outros métodos de implementação suportados.

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

  1. Selecione a sua aplicação de função e, em seguida, em Funçõesselecione Funções.
  2. Escolha a sua função e selecione Código + teste no Programador.
  3. Escolha o seu ficheiro para editar e selecione Guardar quando terminar.

Os ficheiros na raiz da aplicação, tais como function.proj ou extensions.csproj precisam de ser criados e editados utilizando as Ferramentas Avançadas (Kudu).

  1. Selecione a sua aplicação de função e, em seguida, em ferramentas de Desenvolvimentoselecione Ferramentas AvançadasGo>.

  2. Se for promovido, inscreva-se no site da SCM com as suas credenciais Azure.

  3. A partir do menu de consolas Debug , escolha CMD.

  4. Navegue para .\site\wwwroot, selecione o botão mais (+) na parte superior e selecione Novo ficheiro.

  5. Nomeie o ficheiro, como extensions.csproj e prima Enter.

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

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

    dotnet build extensions.csproj
    

Funcionalidades da plataforma

As aplicações de função funcionam e são mantidas pela plataforma Serviço de Aplicações do Azure. Como tal, as aplicações da sua função têm acesso à maioria das funcionalidades da plataforma de hospedagem web core da Azure. Ao trabalhar no portal do Azure, o painel esquerdo é onde você acede às muitas funcionalidades da plataforma Serviço de Aplicações que pode usar nas suas aplicações de função.

A seguinte matriz indica suporte de funcionalidades do portal através do plano de hospedagem e do sistema operativo:

Funcionalidade Plano de consumo Plano Premium Plano dedicado
Ferramentas avançadas (Kudu) Windows: ✔
Linux: X
editor Serviço de Aplicações Windows: ✔
Linux: X
Windows: ✔
Linux: X
Windows: ✔
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 resto deste artigo centra-se nas seguintes funcionalidades do portal que são úteis para as suas aplicações de função:

Para obter mais informações sobre como trabalhar com Serviço de Aplicações configurações, consulte Serviço de Aplicações do Azure Definições configurar.

editor Serviço de Aplicações

The App Service editor

O editor Serviço de Aplicações é um editor avançado no portal que pode usar para modificar ficheiros de configuração JSON e ficheiros de código. A escolha desta opção lança um separado do navegador com um editor básico. Isto permite-lhe integrar-se com o código de repositório, executar e depurar Git e modificar as definições de aplicações de função. Este editor proporciona um ambiente de desenvolvimento melhorado para as suas funções em comparação com o editor de funções incorporado.

Recomendamos que considere desenvolver as suas funções no seu computador local. Quando desenvolve localmente e publica para o Azure, os seus ficheiros de projeto são apenas lidos no portal. Para saber mais, consulte Código e teste Funções do Azure localmente.

Consola

Function app console

A consola no portal é uma ferramenta de desenvolvimento ideal quando prefere interagir com a sua aplicação de função a partir da linha de comando. Os comandos comuns incluem diretório e criação de ficheiros e navegação, bem como a execução de ficheiros e scripts de lote.

Ao desenvolver-se localmente, recomendamos a utilização do Funções do Azure Core Tools e do Azure CLI.

Ferramentas avançadas (Kudu)

Configure Kudu

As ferramentas avançadas para Serviço de Aplicações (também conhecida como Kudu) fornecem acesso a funcionalidades administrativas avançadas da sua aplicação de função. A partir de Kudu, gere informações de sistema, configurações de aplicações, variáveis de ambiente, extensões de site, cabeçalhos HTTP e variáveis de servidor. Também pode lançar Kudu navegando no ponto final SCM para a sua aplicação de função, como https://<myfunctionapp>.scm.azurewebsites.net/

Centro de Implementação

Quando utiliza uma solução de controlo de origem para desenvolver e manter o código de funções, o Centro de Implantação permite-lhe construir e implantar a partir do controlo de origem. O seu projeto é construído e implantado para a Azure quando faz atualizações. Para mais informações, consulte as tecnologias de implantação em Funções do Azure.

Partilha de recursos de várias origens

Para evitar a execução de código malicioso no cliente, os navegadores modernos bloqueiam pedidos de aplicações web a recursos executados em um domínio separado. A partilha de recursos de origem cruzada (CORS) permite que um Access-Control-Allow-Origin cabeçalho declare quais as origens que podem chamar pontos finais na sua aplicação de função.

Portal

Quando configurar a lista de origens permitidas para a sua aplicação de função, o Access-Control-Allow-Origin cabeçalho é automaticamente adicionado a todas as respostas dos pontos finais HTTP na sua aplicação de função.

Configure function app's CORS list

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

Utilize o az functionapp cors add comando 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

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

Autenticação

Configure authentication for a function app

Quando as funções utilizarem um gatilho HTTP, pode exigir que as chamadas sejam autenticadas primeiro. Serviço de Aplicações suporta a autenticação Azure Ative Directory e o sent-in com fornecedores sociais, como facebook, Microsoft e Twitter. Para obter mais informações sobre a configuração de fornecedores de autenticação específica, consulte Serviço de Aplicações do Azure visão geral da autenticação.

Passos seguintes