Partilhar via


Suporte de API em Aplicações Web Estáticas do Azure com Funções do Azure

As aplicações web front-end frequentemente apelam a APIs back-end para dados e serviços. Por defeito, Aplicações Web Estáticas do Azure fornece endpoints APIs serverless integrados via Funções do Azure.

Funções do Azure APIs em aplicações web estáticas estão disponíveis em duas configurações possíveis, dependendo do plano de alojamento.

  • Managed functions: Por defeito, a API de uma aplicação web estática é uma aplicação Funções do Azure gerida e implementada por Aplicações Web Estáticas do Azure associada a algumas restrições.

  • Traga as suas próprias funções: Opcionalmente, pode fornecer uma aplicação de Funções do Azure existente de qualquer tipo de plano, que inclua todas as funcionalidades do Funções do Azure. Com essa configuração, você é responsável por lidar com uma implantação separada para o aplicativo Functions.

A tabela a seguir contrasta as diferenças entre o uso de funções gerenciadas e existentes.

Caraterística Funções gerenciadas Traga as suas próprias funções
Acesso a gatilhos e ligações do Funções do Azure Apenas HTTP Todos
Suportado Funções do Azure runtimes1 Consulte os idiomas e tempos de execução suportados. Todos
Planos de alojamento suportados para Funções do Azure Consumo Consumo
Premium
Dedicado
Segurança integrada com acesso direto à autenticação do usuário e dados de autorização baseados em função
Integração de roteamento que torna a /api rota disponível para o aplicativo Web com segurança sem exigir regras CORS personalizadas.
Modelo de programação Durable Functions
Identidade gerida
Serviço de Aplicações do Azure Autenticação e Autorização gestão de tokens
Funções API disponíveis fora do Aplicações Web Estáticas do Azure
Referências ao Key Vault

1 Para especificar a versão de tempo de execução em funções gerenciadas, adicione um arquivo de configuração ao seu aplicativo frontend e defina a apiRuntime propriedade. O suporte está sujeito à política de suporte de runtime da linguagem Funções do Azure.

As opções de API para Aplicações Web Estáticas incluem os seguintes serviços Azure:

Consulte a visão geral das APIs para obter mais informações.

Configuração

Os endpoints da API estão disponíveis para a app web através da rota api.

Funções gerenciadas Traga as suas próprias funções
Enquanto a /api rota é fixa, você tem controle sobre o local da pasta do código-fonte do aplicativo de funções gerenciadas. Você pode alterar esse local editando o arquivo YAML do fluxo de trabalho localizado na pasta .github/workflows do repositório. Os pedidos para a rota /api são enviados para a sua aplicação de Funções do Azure existente.

Resolução de problemas e registos

Os logs só estarão disponíveis se adicionares Application Insights.

Funções gerenciadas Traga as suas próprias funções
Ative o registo ativando o Application Insights na sua aplicação Web estática. Ative o registo ativando o Application Insights na sua aplicação Funções do Azure.

Restrições

Para além das restrições da API Aplicações Web Estáticas, as seguintes restrições também se aplicam às APIs do Funções do Azure:

Funções gerenciadas Traga as suas próprias funções
  • Gatilhos e ligações são limitados a HTTP.
  • A aplicação Funções do Azure deve estar em Node.js 12, Node.js 14, Node.js 16, Node.js 18, Node.js 20 (pré-visualização), .NET Core 3.1, .NET 6.0, .NET 7.0, .NET 8.0, Python 3.8, Python 3.9 ou Python 3.10.
  • Algumas configurações do aplicativo são gerenciadas pelo serviço, portanto, os seguintes prefixos são reservados pelo tempo de execução:
    • APPSETTING_, AZUREBLOBSTORAGE_, AZUREFILESSTORAGE_, AZURE_FUNCTION_, CONTAINER_, DIAGNOSTICS_, DOCKER_, FUNCTIONS_, IDENTITY_, MACHINEKEY_, MAINSITE_, MSDEPLOY_, SCMSITE_, SCM_, WEBSITES_, WEBSITE_, WEBSOCKET_, AzureWeb
  • Algumas tags de aplicativo são usadas internamente pelo serviço. Portanto, as seguintes tags são reservadas:
    • AccountId, EnvironmentId, FunctionAppId.
  • Você é responsável por gerenciar a implantação do aplicativo Functions.

Próximos passos