Compartilhar via


Suporte à API em Aplicativos Web Estáticos do Azure com Azure Functions

Aplicativos web de front-end frequentemente chamam APIs de back-end para obter dados e serviços. Por padrão, o Aplicativos Web Estáticos do Azure fornece endpoints de API sem servidor integrados por meio de Azure Functions.

Azure Functions APIs em Aplicativos Web Estáticos estão disponíveis em duas configurações possíveis, dependendo do plano de hospedagem:

  • Managed functions: por padrão, a API de um aplicativo Web estático é um aplicativo Azure Functions gerenciado e implantado por Aplicativos Web Estáticos do Azure associado a algumas restrições.

  • Provide suas próprias funções: opcionalmente, você pode provide um aplicativo Azure Functions existente de qualquer tipo de plano, que inclui todos os recursos de Azure Functions. Com essa configuração, você fica encarregado de gerenciar uma implantação separada do aplicativo de Funções.

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

Recurso Funções Gerenciadas Traga suas próprias Funções
Acesso a Azure Functions gatilhos e associações Somente HTTP Tudo
Runtimes com suporte do Azure Functions1 Confira linguagens e runtimes com suporte. Tudo
Planos de hospedagem com suporte do Azure Functions Consumo Consumo
Premium
Dedicado
Segurança integrada com acesso direto aos dados de autenticação e autorização baseada em função do usuário
Integração de roteamento, que torna a rota de /api disponível para o aplicativo Web com segurança, sem a necessidade de regras CORS personalizadas.
Durable Functions modelo de programação
Identidade gerenciada
Serviço de Aplicativo do Azure Autenticação e Autorização gerenciamento de tokens
Funções de API disponíveis fora Aplicativos Web Estáticos do Azure
Key Vault referências

1 Para especificar a versão de runtime em funções gerenciadas, adicione um arquivo de configuração ao aplicativo de front-end e defina a propriedade apiRuntime. O suporte está sujeito à política de suporte do Azure Functions language runtime.

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

Confira a Visão geral das APIs para obter mais informações.

Configuração

Os pontos de extremidade de API estão disponíveis para o aplicativo Web por meio da rota de api.

Funções gerenciadas Traga suas próprias funções
Embora a rota de /api seja fixa, você tem controle sobre o local da pasta de 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. As solicitações para a rota /api são enviadas para o aplicativo Azure Functions existente.

Resolução de problemas e registros

Os logs só estarão disponíveis se você adicionar Application Insights.

Funções gerenciadas Traga suas próprias funções
Ative o log com o Application Insights na sua aplicação web estática. Ative o registro em log habilitando o Application Insights em seu aplicativo Azure Functions.

Restrições

Além do Aplicativos Web Estáticos API constraints, as seguintes restrições também são aplicáveis às APIs Azure Functions:

Funções gerenciadas Traga suas próprias funções
  • Gatilhos e associações são limitados ao HTTP.
  • O aplicativo Azure Functions deve estar no Node.js 12, Node.js 14, Node.js 16, Node.js 18, Node.js 20 (versão prévia), .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 do Functions.

Próximas etapas