Suporte de API em Aplicativos Web Estáticos do Azure com Aplicativos de Contêiner do Azure
Os Aplicativos de Contêiner do Azure são uma plataforma gerenciada para hospedar contêineres e microsserviços sem servidor.
Quando você vincula seu aplicativo de contêiner ao seu aplicativo Web estático, todas as solicitações para seu aplicativo Web estático com uma rota que começa com /api
são intermediadas por proxy para a mesma rota no aplicativo de contêiner.
Por padrão, quando um aplicativo de contêiner é vinculado a um aplicativo Web estático, o aplicativo de contêiner só aceita solicitações que são intermediadas por proxy por meio do aplicativo Web estático vinculado. Um aplicativo de contêiner pode ser vinculado a um único aplicativo Web estático de cada vez.
As opções de API para Aplicativos Web Estáticos incluem os seguintes serviços do Azure:
- Funções do Azure
- Gestão de API do Azure
- Serviço de Aplicações do Azure
- Aplicativos de contêiner do Azure
Consulte a visão geral das APIs para obter mais informações.
Nota
A integração com os Aplicativos de Contêiner do Azure requer o plano Static Web Apps Standard.
A integração de back-end não é suportada em ambientes de solicitação pull de aplicativos Web estáticos.
Pré-requisitos
Para vincular um aplicativo de contêiner ao seu aplicativo Web estático, você precisa ter um recurso de Aplicativos de Contêiner existente e um aplicativo Web estático.
Recurso | Descrição |
---|---|
Aplicativos de contêiner do Azure | Se você ainda não tiver um, siga as etapas no guia Implantar seu primeiro aplicativo de contêiner. |
Aplicação Web estática existente | Se você ainda não tiver um, siga as etapas no guia de introdução para criar um aplicativo Web estático No Framework . |
Exemplo
Considere uma instância existente do Aplicativo de Contêiner do Azure que exponha um ponto de extremidade por meio do seguinte local.
https://my-container-app.red-river-123.eastus2.azurecontainerapps.io/api/getProducts
Uma vez vinculado, você pode acessar esse mesmo ponto de extremidade através do caminho do api
seu aplicativo Web estático, conforme mostrado neste URL de exemplo.
https://red-sea-123.azurestaticapps.net/api/getProducts
Ambos os URLs apontam para o mesmo ponto de extremidade da API. O ponto de extremidade no aplicativo de contêiner deve ter o prefixo, já que Static Web Apps corresponde às solicitações feitas e /api
faz proxy de todo o caminho para o /api
recurso vinculado.
Vincular um aplicativo de contêiner
Para vincular um aplicativo de contêiner como back-end de API para um aplicativo Web estático, siga estas etapas:
No portal do Azure, vá para o aplicativo Web estático.
Selecione APIs no menu de navegação.
Localize o ambiente ao qual você deseja vincular a instância de Gerenciamento de API. Selecionar Ligação.
Em Tipo de recurso de back-end, selecione Aplicativo de contêiner.
Em Assinatura, selecione a assinatura que contém o aplicativo de contêiner que você deseja vincular.
Em Nome do recurso, selecione o aplicativo contêiner.
Selecionar Ligação.
Quando o processo de vinculação é concluído, as solicitações para rotas que começam com /api
são intermediadas por proxy para o aplicativo de contêiner vinculado.
Gerenciar o acesso ao aplicativo de contêiner
Seu aplicativo de contêiner é configurado com um provedor de identidade chamado Azure Static Web Apps (Linked)
que permite apenas o tráfego que é intermediado por proxy por meio do aplicativo Web estático. Para tornar seu aplicativo de contêiner acessível a outros aplicativos, atualize sua configuração de autenticação para adicionar outro provedor de identidade ou altere as configurações de segurança para permitir acesso não autenticado.
Desvincular um aplicativo de contêiner
Para desvincular um aplicativo contêiner de um aplicativo Web estático, siga estas etapas:
No portal do Azure, vá para o aplicativo Web estático.
Selecione APIs no menu de navegação.
Localize o ambiente que você deseja desvincular e selecione o nome do aplicativo de contêiner.
Selecione Desvincular.
Quando o processo de desvinculação estiver concluído, as solicitações para rotas que começam com /api
não serão mais intermediadas por proxy para seu aplicativo de contêiner.
Nota
Para evitar a exposição acidental do aplicativo contêiner ao tráfego anônimo, o provedor de identidade criado pelo processo de vinculação não é excluído automaticamente. Você pode excluir o provedor de identidade chamado Aplicativos Web Estáticos do Azure (Vinculado) das configurações de autenticação do aplicativo de contêiner.
Remover autenticação do recurso Aplicativos de contêiner
Para permitir que seu recurso Aplicativos de contêiner receba tráfego anônimo, siga estas etapas para remover o provedor de identidade:
No portal do Azure, navegue até o recurso Aplicativos de Contêiner.
Selecione Autenticação no menu de navegação.
Na lista de provedores de identidade, exclua o provedor de identidade relacionado ao recurso Static Web Apps.
Selecione Remover autenticação para remover a autenticação e permitir tráfego anônimo para o recurso Aplicativos de contêiner.
Seu recurso Container Apps agora pode receber tráfego anônimo.