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
Observação
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 o projeto de código em um aplicativo de funções no Azure. Para obter mais informações, confira Limitações de desenvolvimento no portal do Azure
Para exibir as configurações do aplicativo em seu aplicativo de funções, siga estas etapas:
Entre no portal do Azure usando a conta do Azure. Pesquise seu aplicativo de funções e selecione-o.
No painel esquerdo do seu aplicativo de funções, expanda Configurações, selecione Variáveis de ambiente e, em seguida, selecione a guia Configurações do aplicativo.
Trabalhar com as configurações de aplicativo
Além das configurações de aplicativo predefinidas usadas pelo Azure Functions, você pode criar qualquer número de configurações de aplicativo, conforme exigido pelo seu código de função. Para saber mais, veja Referência das configurações de aplicativos para o Azure Functions.
Essas configurações são armazenadas criptografadas. Para obter mais informações, consulte Segurança das configurações do aplicativo.
Você pode gerenciar as configurações de aplicativos no portal do Azure e usando CLI do Azure e Azure PowerShell. Você também pode gerenciar as configurações do aplicativo a partir do Visual Studio Code e do Visual Studio.
Para exibir as configurações do seu 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ções:
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 as seções de Variáveis de ambiente desses artigos de referência específicos de linguagem:
Ao desenvolver um aplicativo de funções localmente, você deve manter cópias locais desses valores no arquivo de projeto local.settings.json. Para obter mais informações, confira Arquivo de configurações local.
Configurações de implantação do FTPS
O Azure Functions dá suporte à implantação de código de projeto em seu aplicativo de funções usando o FTPS. Como esse método de implantação exige que você sincronize os gatilhos, ele não é recomendado. Para transferir arquivos de projeto com segurança, sempre use o FTPS e não o FTP.
Para obter as credenciais necessárias para a implantação do FTPS, use um destes métodos:
Você pode obter as credenciais de publicação do FTPS no portal do Azure baixando o perfil de publicação do aplicativo de funções.
Importante
O perfil de publicação contém credenciais de segurança importantes. Sempre proteja o arquivo baixado em seu computador local.
Para baixar o perfil de publicação do seu aplicativo de funções:
No portal do Azure, localize a página do aplicativo de funções, expanda Configurações>Configuração na coluna à esquerda.
Na página Configuração, selecione a guia Configurações gerais e verifique se a opção Credenciais de Publicação de Autenticação Básica SCM está Ativada. Quando essa configuração estiver Desativada, você não poderá usar perfis de publicação, portanto, selecione Ativar e, em seguida, Salvar.
Retorne à página Visão geral do aplicativo de funções e, em seguida, selecione Obter perfil de publicação.
Salve e copie o conteúdo do arquivo.
- No arquivo, localize o elemento
publishProfile
com o atributopublishMethod="FTP"
. Nesse elemento, os atributospublishUrl
,userName
euserPWD
contêm a URL de destino e as credenciais para publicação do FTPS.
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 obter mais informações, 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 do Azure | 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 seu aplicativo de funções, consulte Plano do Serviço de Aplicativo na página Visão Geral do aplicativo de funções no portal do Azure.
Para ver o nível de preços, selecione o nome do Plano do Serviço de Aplicativo e, em seguida, selecione Configurações > Propriedades no painel esquerdo.
Planejar a migração
Você pode migrar um aplicativo de funções entre um plano de Consumo e um plano Premium no Windows. Ao migrar entre planos, tenha em mente as seguintes considerações:
- Não há suporte para a migração direta para um plano Dedicado (Serviço de Aplicativo).
- Não há suporte para migração 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 CLI específicos dependem da direção da migração.
- O tempo de inatividade em suas execuções de função ocorre à medida que o aplicativo de funções é migrado entre planos.
- O estado e outros conteúdos específicos do aplicativo são mantidos, pois o mesmo compartilhamento de Arquivos do Azure é usado pelo aplicativo antes e depois da migração.
Você pode migrar seu plano usando estas ferramentas:
Você pode usar o portal do Azure para mudar para um plano diferente.
Escolha a direção da migração para seu aplicativo no Windows.
Limitações de desenvolvimento no portal do Azure
Considere essas limitações ao desenvolver suas funções no portal do Microsoft Azure:
- A edição no portal tem suporte apenas para funções que foram criadas ou modificadas pela última vez no portal do Azure.
- A edição no portal é compatível apenas com funções JavaScript, PowerShell, Python e C# Script.
- Não há suporte para edição no portal na versão prévia do plano de Consumo Flex.
- Quando você implanta o código em um aplicativo de funções de fora do portal do Azure, não é mais possível editar nenhum código desse aplicativo de funções no portal. Nesse caso, continue usando o desenvolvimento local.
- No momento, não há suporte para o desenvolvimento com módulos personalizados no portal. Para adicionar módulos personalizados ao seu aplicativo de funções, você precisa desenvolver seu aplicativo localmente.
- Para funções C# compiladas e funções Java, você pode criar o aplicativo de funções e recursos relacionados no portal. No entanto, você deve criar o projeto de código das funções localmente e depois publicá-lo no Azure.
Quando possível, desenvolva suas funções localmente e publique seu projeto de código em um aplicativo de funções no Azure. Para mais informações, confira Codificar e testar o Azure Functions localmente.
Instalar extensões manualmente
As funções da biblioteca de classes C# podem incluir os pacotes de NuGet para extensões de associação diretamente no projeto da biblioteca de classes. Para outras linguagens non-.NET e script C#, você deve usar pacotes de extensão. Se você precisar instalar manualmente as extensões, poderá fazer isso usando o Azure Functions Core Tools localmente. Se você não puder usar pacotes de extensão e só puder trabalhar no portal, precisará usar Ferramentas Avançadas (Kudu) para criar manualmente o arquivo extensions.csproj diretamente no site. Certifique-se de remover primeiro o elemento extensionBundle
do arquivo host.json.
Esse mesmo processo funciona para qualquer outro arquivo que você precisa adicionar ao aplicativo.
Importante
Quando possível, não edite arquivos diretamente em seu aplicativo de funções no Azure. É recomendável baixar os arquivos de aplicativo localmente, usar as Ferramentas Principais para instalar extensões e outros pacotes, validar as alterações e republicar o aplicativo usando as Ferramentas Principais ou um dos outros métodos de implantação com suporte.
O editor do Functions integrado ao portal do Azure permite que você atualize o código da função e os arquivos de configuração diretamente no portal:
Selecione seu aplicativo de funções e, em Functions, selecione Functions.
Escolha a função e selecione Código + teste em Desenvolvedor.
Escolha o arquivo a ser editado e selecione Salvar quando terminar.
Os arquivos na raiz do aplicativo, como function.proj ou extensions.csproj, precisam ser criados e editados com o uso de Ferramentas Avançadas (Kudu):
Selecione seu aplicativo de funções, expanda Ferramentas de Desenvolvimento e, em seguida, selecione Ferramentas Avançadas>Ir.
Se solicitado, entre no site do Gerenciador de Controle do Código-Fonte (SCM) com suas credenciais do Azure.
No menu Depurar console, escolha CMD.
Navegue até
.\site\wwwroot
, selecione o botão de adição (+) na parte superior e selecione Novo arquivo.Dê um nome ao arquivo, como
extensions.csproj
, e pressione Enter.Selecione o botão de edição ao lado do novo arquivo, adicione ou atualize o código no arquivo e, em seguida, selecione Salvar.
Para um arquivo de projeto como extensions.csproj, execute o seguinte comando para reconstruir o projeto de extensões:
dotnet build extensions.csproj
Recursos da plataforma
Os aplicativos de funções são executados na plataforma do Serviço de Aplicativo do Azure, que os mantém. Dessa forma, seus aplicativos de funções têm acesso à maioria dos recursos da principal plataforma de hospedagem na Web do Azure. Quando você usa o portal do Azure, o painel esquerdo é onde você acessa os vários recursos da plataforma do Serviço de Aplicativo que podem ser usados em seus aplicativos de funções.
A matriz a seguir indica o suporte aos recursos do portal do Azure por plano de hospedagem e sistema operacional:
Recurso | Plano de Consumo | Plano de Consumo Flexível | Plano Premium | Plano dedicado |
---|---|---|---|---|
Ferramentas avançadas (Kudu) | Windows: ✔ Linux: X |
X | ✔ | ✔ |
Editor do Serviço de Aplicativo | Windows: ✔ Linux: X |
X | Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
Backups | X | X | X | ✔ |
Console | Windows: linha de comando Linux: X |
X | Windows: linha de comando Linux: SSH |
Windows: linha de comando Linux: SSH |
O restante deste artigo trata dos seguintes recursos no portal do Azure que são úteis para os aplicativos de funções:
- Editor do Serviço de Aplicativo
- Console
- Ferramentas avançadas (Kudu)
- Opções de implantação
- CORS
- Autenticação
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 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. Esse editor permite a integração com o repositório Git, a execução e a depuração de código e a modificação das configurações do aplicativo 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ê desenvolve localmente e publica no Azure, seus arquivos de projeto são somente leitura no portal do Azure. Para mais informações, confira Codificar e testar o Azure Functions localmente.
Console
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)
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 do seu aplicativo de funções, por exemplo: https://<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.
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.
Se houver outra entrada de domínio, o curinga (*) será ignorado.
Autenticação
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 e entrada do Microsoft Entra com provedores sociais, como Facebook, Microsoft e X. Para obter informações sobre como configurar provedores de autenticação específicos, veja Visão geral da autenticação do Serviço de Aplicativo do Azure.