Importar um Aplicativo Web do Azure como uma API

APLICA-SE A: todas as camadas do Gerenciamento de API

Este artigo mostra como importar um aplicativo Web do Azure para o Gerenciamento de API do Azure e testar a API importada, usando o portal do Azure.

Observação

Use a extensão do Gerenciamento de API para Visual Studio Code para importar e gerenciar suas APIs. Siga o tutorial da extensão do Gerenciamento de API para instalá-la e começar a usá-la.

Neste artigo, você aprenderá como:

  • Importar um aplicativo Web hospedado no Serviço de Aplicativo
  • Testar a API no Portal do Azure

Expor o aplicativo Web com o Gerenciamento de API

O Serviço de Aplicativo do Azure é um serviço com base em HTTP para hospedagem de aplicativos Web, APIs REST e back-ends móveis. Os desenvolvedores de API podem usar as pilhas de tecnologia e pipelines preferenciais deles para desenvolver APIs e publicar os back-ends de API deles como aplicativos Web em um ambiente seguro e escalonável. Em seguida, use o Gerenciamento de API para expor os aplicativos Web, gerenciar e proteger as APIs em todo o ciclo de vida e publicá-las nos consumidores.

O Gerenciamento de API é o ambiente recomendado para expor uma API hospedada por aplicativo Web, por vários motivos:

  • Desacoplar o gerenciamento e a proteção do front-end exposto aos consumidores da API do gerenciamento e monitoramento do aplicativo Web de back-end
  • Gerenciar APIs Web hospedadas como aplicativos Web no mesmo ambiente que suas outras APIs
  • Aplicar políticas para alterar o comportamento da API, como limitação de taxa de chamada
  • Direcionar consumidores de API ao portal do desenvolvedor personalizável do Gerenciamento de API para descobrir e aprender sobre suas APIs, solicitar acesso e experimentá-las

Para obter mais informações, confira Sobre o Gerenciamento de API.

Especificação do OpenAPI versus operações curinga

O Gerenciamento de API dá suporte à importação de aplicativos Web hospedados no Serviço de Aplicativo que incluem uma especificação OpenAPI (definição de Swagger). No entanto, uma especificação de OpenAPI não é necessária.

  • Se o aplicativo Web tiver uma especificação OpenAPI configurada em uma definição de API, o Gerenciamento de API criará operações de API que são mapeadas diretamente para a definição, incluindo caminhos exigidos, parâmetros e tipos de resposta.

    Ter uma especificação OpenAPI é recomendável, pois a API é importada para o gerenciamento de API com alta fidelidade, proporcionando flexibilidade para validar, gerenciar, proteger e atualizar as configurações para cada operação separadamente.

  • Se uma especificação OpenAPI não for fornecida, o gerenciamento de API vai gerar operações curinga para os verbos HTTP comuns (GET, PUT e assim por diante). Acrescente um caminho ou parâmetros necessários a uma operação curinga para passar uma solicitação de API por meio da API de back-end.

    Com operações curinga, você ainda pode aproveitar os mesmos recursos de Gerenciamento de API, mas as operações não são definidas no mesmo nível de detalhes por padrão. Em ambos os casos, você pode editar ou adicionar operações à API importada.

Exemplo

Seu aplicativo Web de back-end pode dar suporte a duas operações GET:

  • https://myappservice.azurewebsites.net/customer/{id}
  • https://myappservice.azurewebsites.net/customers

Importe o aplicativo Web para seu serviço de Gerenciamento de API em um caminho como https://contosoapi.azureapi.net/store. A seguinte tabela mostra as operações importadas para o Gerenciamento de API, com ou sem uma especificação OpenAPI:

Tipo Operações importadas Solicitações de exemplo
Especificação de OpenAPI GET /customer/{id}

GET /customers
GET https://contosoapi.azureapi.net/store/customer/1

GET https://contosoapi.azureapi.net/store/customers
Curinga GET /* GET https://contosoapi.azureapi.net/store/customer/1

GET https://contosoapi.azureapi.net/store/customers

A operação curinga permite as mesmas solicitações para o serviço de back-back que as operações na especificação OpenAPI. No entanto, as operações especificadas por OpenAPI podem ser gerenciadas separadamente no Gerenciamento de API.

Pré-requisitos

Navegar até a instância de Gerenciamento de API

  1. No portal do Azure, pesquise e selecione serviços de Gerenciamento de API.

    Selecione Serviços de Gerenciamento de API

  2. Na página Serviços de Gerenciamento de API, selecione a sua instância de Gerenciamento de API.

    Selecione a sua instância de Gerenciamento de API

Importar e publicar uma API de back-end

Dica

As etapas a seguir iniciam a importação usando o Gerenciamento de API do Azure no portal do Azure. Você também pode vincular o Gerenciamento de API diretamente do aplicativo Web selecionando Gerenciamento de API no menu API do aplicativo.

  1. Navegue até o serviço de Gerenciamento de API no portal do Azure e selecione APIs no menu.

  2. Selecione Serviço de Aplicativo na lista.

    Criar com base no Serviço de Aplicativo

  3. Selecione Procurar para ver a lista de Serviços de Aplicativos em sua assinatura.

  4. Selecione um Serviço de Aplicativo. Se uma definição do OpenAPI estiver associada ao aplicativo Web selecionado, o Gerenciamento de API a buscará e a importará.

    Se uma definição de OpenAPI não for encontrada, o Gerenciamento de API exporá a API gerando operações curinga para verbos HTTP comuns.

  5. Adicione um sufixo da URL da API. O sufixo é um nome que identifica a API específica messa instância do Gerenciamento de API. Ele deve ser exclusivo nesta instância de APIM.

  6. Publica a API associando-a a um produto. Nesse caso, o produto "Ilimitado" é usado. Se você deseja que a API seja publicada e fique disponível para os desenvolvedores, adicione-a a um produto. Você pode fazer isso durante a criação da API ou configurá-lo mais tarde.

    Observação

    Os produtos são associações de uma ou mais APIs. Você pode incluir muitas APIs e oferecê-las aos desenvolvedores no portal do desenvolvedor. Os Desenvolvedores devem primeiro se inscrever em um produto para obter acesso à API. Com a assinatura, eles obtêm uma chave de assinatura que funciona para qualquer API no produto. Se você criou a instância do APIM, já é um administrador e, portanto, está inscrito em cada produto por padrão.

    Por padrão, cada instância de Gerenciamento de API é fornecida com dois produtos função Web:

    • Inicial
    • Ilimitado
  7. Insira outras configurações de API. Você pode definir os valores durante a criação ou configurá-los mais tarde, acessando a guia Configurações. As configurações são explicadas no tutorial Importar e publicar sua primeira API.

  8. Selecione Criar. Criar API com base no Serviço de Aplicativo

Testar a nova API no portal do Azure

As operações podem ser chamadas diretamente do portal do Azure, o que oferece uma maneira fácil de exibir e testar as operações de uma API. Você também pode testar a API no portal do desenvolvedor ou usando as próprias ferramentas de cliente REST.

  1. Selecione a API que você criou na etapa anterior.

  2. Selecione a guia Testar.

  3. Selecione uma operação.

    A página exibe os campos dos parâmetros de consulta e os campos dos cabeçalhos. Um dos cabeçalhos é "Ocp-Apim-Subscription-Key", para a chave de assinatura do produto que está associado a essa API. Se você criou a instância do Gerenciamento de API, já é um administrador e, portanto, a chave é preenchida automaticamente.

  4. Pressione Enviar.

    Quando a solicitação for realizada com sucesso, o back-end responderá com 200 OK e alguns dados.

Testar operação curinga no portal

Quando operações curinga são geradas, as operações podem não ser mapeadas diretamente para a API de back-end. Por exemplo, uma operação GET curinga importada no Gerenciamento de API usa o caminho / por padrão. No entanto, sua API de back-end pode dar suporte a uma operação GET no seguinte caminho:

/api/TodoItems

Você pode testar o caminho /api/TodoItems da forma a seguir.

  1. Selecione a API que você criou e selecione a operação.

  2. Selecione a guia Testar.

  3. Em Parâmetros de modelo, atualize o valor ao lado do nome curinga (*). Por exemplo, insira api/TodoItems. Esse valor é acrescentado ao caminho / para a operação curinga.

    Testar operação curinga

  4. Selecione Enviar.

Acrescentar outras APIs

Você pode compor uma API de APIs expostas por diferentes serviços, incluindo:

  • Uma especificação do OpenAPI
  • Uma API SOAP
  • Uma API da GraphQL
  • Um aplicativo Web hospedado no Serviço de Aplicativo do Azure
  • Aplicativo de Funções do Azure
  • Aplicativos Lógicos do Azure
  • Azure Service Fabric

Acrescente uma API diferente da API existente usando as etapas a seguir.

Observação

Ao importar outra API, as operações são acrescentadas à sua API atual.

  1. Vá para sua instância de Gerenciamento de API do Azure no portal do Azure.

    Acessar a instância do Gerenciamento de API do Azure

  2. Selecione APIs na página Visão geral ou no menu à esquerda.

    Selecionar APIs

  3. Clique em ... ao lado da API à qual você deseja acrescentar outra API.

  4. Selecione Importar no menu suspenso.

    Selecionar Importar

  5. Selecione um serviço de onde será importada a API.

    Selecione o serviço

Próximas etapas