Desenvolver proxies de API

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

Exponha APIs no Apigee implementando proxies de API. Os proxies de API desassociam a API virada para a app dos seus serviços de back-end, protegendo essas apps de alterações ao código de back-end.

Desenvolva os seus proxies de API com o Apigee no Cloud Code, conforme descrito nas secções seguintes. Consulte também o artigo Gerir pastas e ficheiros num espaço de trabalho do Apigee.

Criar um proxy de API

Para criar um proxy de API com o Apigee no Cloud Code, certifique-se de que criou um espaço de trabalho de desenvolvimento local e, em seguida:

  1. Realize uma das seguintes ações:

    • No seu espaço de trabalho, posicione o cursor sobre a pasta apiproxies e clique em Ícone Criar proxy de API.

      O sinal + é apresentado quando posiciona o cursor sobre a pasta apiproxies

    • Selecione Ver > Paleta de comandos para abrir a paleta de comandos e selecione Cloud Code: Create Apigee proxy bundle.

    É aberto o assistente Criar proxy.

  2. Selecione uma das seguintes opções:

    Tipo Descrição
    Access token-based authentication

    Adiciona autenticação baseada no OAuth 2.0 ao seu proxy de API. O Apigee adiciona automaticamente as seguintes políticas ao seu proxy de API:

    • Quota para gerir a quota no proxy.
    • AssignMessage para remover a chave da API, fornecida na chamada da API como um parâmetro de consulta, do pedido encaminhado para o servidor de back-end.
    • OAuthV2 como método de autenticação.
    API key-based authentication

    Um proxy de API que usa a validação simples da chave da API. O Apigee adiciona automaticamente as seguintes políticas ao seu proxy de API:

    • Quota para gerir a quota no proxy.
    • VerifyAPIKey para validar as chaves da API apresentadas pelas apps que fazem pedidos.
    • AssignMessage para remover a chave da API, fornecida na chamada da API como um parâmetro de consulta, do pedido encaminhado para o servidor de back-end.
    Echo request

    Um proxy de API que ecoa pedidos. Não existe um destino/backend de API para este tipo de proxy e nenhuma autenticação. Não lhe é pedido que especifique um URL para o serviço de back-end (Target (Existing API)) e a configuração do ponto final de destino predefinido não está incluída.

    Simple reverse proxy

    Um proxy de API que transmite pedidos a um destino de back-end. Não inclui autenticação, pelo que os pedidos são transmitidos ao back-end sem verificações de segurança.

    OpenAPI 3.0 spec

    Crie um proxy carregando uma especificação OpenAPI 3.0 existente. Para mais informações, consulte a OpenAPI Initiative.

  3. Consulte os campos principais do proxy da API para obter informações sobre os campos, como o caminho base, necessários para criar cada tipo de proxy. Responda a cada um dos comandos e prima Enter para confirmar e continuar, ou Esc para cancelar o assistente.

Depois de concluir os passos no assistente, a nova pasta apiproxy-name é adicionada em apiproxies na secção Apigee. Cada pasta de proxy de API está estruturada conforme descrito em Estrutura do diretório de configuração do proxy de API.

Segue-se um exemplo da configuração predefinida criada para um proxy de API criado com o tipo API key-based authentication.

A estrutura de pastas de um proxy de autenticação baseado em chaves da API

Para uma descrição da configuração predefinida, consulte o artigo Explorar a configuração predefinida do proxy de API.

Explorar a configuração do proxy de API predefinida

A tabela seguinte resume o conteúdo incluído na configuração predefinida quando cria um proxy de API com base no tipo de proxy de API e nas opções de autenticação selecionadas.

Ficheiro de configuração
Proxy inverso simples
Pedido de eco
Autenticação com chave de acesso (OAuthV2)
Autenticação de chave da API
proxies/default.xml
Configuração do ponto final do proxy predefinido.
targets/default.xml
Configuração do ponto final de destino predefinido.
 
impose-quota.xml
Política de quotas para definir uma quota predefinida.
   
remove-header-authorization.xml
Política AssignMessage para remover o cabeçalho Authorization transmitido para autenticação.
   
 
remove-query-param-apikey.xml
Política AssignMessage para remover o parâmetro de consulta apikey que é transmitido para autenticação.
     
verify-api-key.xml
Política VerifyAPIKey para aplicar a validação de chaves de API.
     
Política verify-oauth-v2-access-token.xml
OAuthV2 para validar chaves de acesso OAuth V2.
   
 

Carregar um pacote de proxy de API

Para carregar um pacote de proxy de API para o Apigee no Cloud Code:

  1. Realize uma das seguintes ações:

    • No espaço de trabalho do Apigee, posicione o cursor sobre a pasta apiproxies e clique em Ícone do pacote de proxy de API de importação.

    • Selecione Ver > Paleta de comandos para abrir a paleta de comandos e selecione Cloud Code: Importar pacote de proxy do Apigee.

  2. Navegue para o pacote de proxy de API que quer carregar e clique em Selecionar. O pacote de proxy de API tem de estar estruturado conforme descrito em Estrutura do diretório de configuração do proxy de API.

  3. (Opcional) Por predefinição, o nome do ficheiro ZIP menos a respetiva extensão é usado para o nome do proxy de API. Se este nome não for exclusivo, é-lhe pedido que introduza um nome exclusivo.

A pasta apiproxy-name carregada é adicionada em apiproxies no seu espaço de trabalho.

Gerir pontos finais de proxy

Conforme descrito em O que é um proxy de API?, um ponto final do proxy (ProxyEndpoint) define a forma como as apps cliente consomem as suas APIs. Configura o ponto final do proxy para definir o URL do seu proxy de API. O ponto final do proxy também determina se as apps acedem ao proxy da API através de HTTP ou HTTPS. Pode anexar políticas ao ponto final do proxy para aplicar a segurança, as verificações de quotas e outros tipos de controlo de acesso e limitação de taxas.

Crie e configure pontos finais de proxy conforme descrito nas secções seguintes.

Criar pontos finais de proxy

Quando cria um proxy de API, é adicionado um ponto final de proxy predefinido à configuração do proxy de API. Para mais informações, consulte o artigo Explorar a configuração do proxy da API predefinida. Pode criar pontos finais de proxy adicionais, conforme necessário.

Para criar um ponto final de proxy com o Apigee no Cloud Code:

  1. No seu espaço de trabalho do Apigee, execute uma das seguintes ações:

    • Posicione o cursor sobre uma das seguintes pastas, clique em Ícone Criar ponto final de proxy e selecione Criar ponto final de proxy:
      • apiproxy-name pacote de proxy
      • apiproxy-name/apiproxy
    • Posicione o cursor sobre a pasta apiproxy-name/apiproxy/proxies e clique em Ícone Criar ponto final de proxy.

    É aberto o assistente Criar ponto final de proxy.

  2. Introduza os valores para o conjunto seguinte de comandos. Prima Enter após cada uma para confirmar e continuar ou Esc para cancelar.

    Campo Descrição
    Proxy endpoint name Nome usado para identificar o ponto final do proxy.
    API proxy base path Parte do URL usado para fazer pedidos à sua API. O Apigee usa o URL para fazer corresponder e encaminhar os pedidos recebidos para o proxy de API adequado.
    Target endpoint Selecione no target ou default. Consulte os elementos de configuração ProxyEndpoint para ver informações.

O ponto final é criado e adicionado à pasta apiproxy-name/apiproxy/proxies na secção Apigee e aberto no editor. Configure o ponto final do proxy, conforme descrito na secção seguinte.

Configurar pontos finais de proxy

Para configurar os pontos finais do proxy, consulte as seguintes secções:

Gerir pontos finais de destino

Conforme descrito em O que é um proxy de API?, um ponto final de destino (TargetEndpoint) define a forma como o proxy de API interage com os seus serviços de back-end. Configura o ponto final de destino para encaminhar pedidos para o serviço de back-end adequado e define quaisquer definições de segurança, protocolo HTTP ou HTTPS e outras informações de ligação. Pode anexar políticas ao ponto final de destino para garantir que as mensagens de resposta estão formatadas corretamente para a app que fez o pedido inicial.

Crie e configure pontos finais de destino conforme descrito nesta secção.

Criar pontos finais de destino

Quando cria um proxy de API inverso, é adicionado um ponto final de destino predefinido à configuração do proxy de API. Quando cria um proxy de API sem um destino de back-end, apenas o ponto final do proxy predefinido é adicionado à configuração do proxy de API. Não é adicionado nenhum ponto final de destino. Para mais informações, consulte o artigo Explorar a configuração do proxy da API predefinida.

Crie pontos finais de destino, conforme necessário.

Para criar um ponto final de destino com o Apigee no Cloud Code:

  1. No seu espaço de trabalho do Apigee, execute uma das seguintes ações:

    • Posicione o cursor sobre uma das seguintes pastas, clique em Ícone Criar ponto final de destino e selecione Criar ponto final de destino:
      • apiproxy-name pacote de proxy
      • apiproxy-name/apiproxy
    • Posicione o cursor sobre a pasta apiproxy-name/apiproxy/targets e clique em Ícone Criar ponto final de destino.

    É aberto o assistente Criar ponto final de destino.

  2. Execute os seguintes passos com base no tipo de ponto final de destino que quer criar:

    Tipo Passos
    Destino HTTP(s) externo

    Para definir um destino HTTP(s) externo:

    1. Selecione Destino HTTP(s).
    2. Introduza o nome do ponto final de destino em Nome do ponto final de destino.
    3. Introduza o URL do serviço de back-end que este ponto final de destino invoca em URL de destino de back-end.

    Para mais informações, consulte o artigo Determinar o URL do ponto final de destino.

    Encadeamento de proxies

    Para definir um proxy de API implementado localmente como o seu destino:

    1. Selecione Encadeamento de proxies.
    2. Introduza o nome do ponto final de destino em Nome do ponto final de destino.
    3. Selecione um proxy de API.
    4. Selecione o ponto final do proxy.

    Para mais informações, consulte o artigo Encadeamento de proxies.

    Alvo com balanceamento de carga

    Para definir um destino com equilíbrio de carga através de servidores de destino definidos no ambiente:

    1. Selecione Segmentação com equilíbrio de carga.
    2. Introduza o nome do ponto final de destino em Nome do ponto final de destino.

    Para mais informações, consulte o artigo Configurar um TargetEndpoint para equilibrar a carga entre TargetServers com nomes.

O ponto final de destino é criado e adicionado à pasta apiproxy-name/apiproxy/targets, e é aberto no editor. Configure o ponto final de destino, conforme descrito na secção seguinte.

Configurar pontos finais de destino

Configure os pontos finais de destino, conforme descrito nos tópicos seguintes.