Como fazer solicitações de API diretas para roteadores ou processadores de mensagens

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Introdução

Ao resolver problemas, execute APIs diretamente nos componentes da Apigee, como um roteador ou processador de mensagens. Por exemplo, é possível fazer isso para:

  • Depure problemas intermitentes com determinadas solicitações de API que apontam para um problema com um componente específico da Apigee (roteador/processador de mensagens).
  • Ative o modo de depuração em uma instância específica de um componente da Apigee e colete mais informações de diagnóstico.
  • Descarte que o problema é causado por um componente específico da Apigee.
  • Descubra se operações como a criação ou reinicialização de uma instância têm o impacto desejado.

Pré-requisitos

  • Acesso direto aos componentes do roteador ou processador de mensagens em que as solicitações de API precisam ser executadas.
  • A ferramenta cURL precisa ser instalada na instância específica do componente.
  • A solicitação de API que você quer testar no formato cURL.

    Por exemplo, este é um comando curl que pode ser usado para fazer uma solicitação a um proxy de API da sua máquina local:

    curl https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
    curl https://myorg-test.mycompany.com/v1/customers
    

Como executar solicitações de API diretamente nos roteadores da Apigee

Cenário 1: solicitações de API para o alias do host que apontam para roteadores

Se a entrada de DNS do alias do host estiver configurada para apontar para os roteadores do Apigee Edge, ou seja, não houver o Elastic Load Balancer (ELB), será possível usar os seguintes comandos curl para fazer as solicitações de API diretamente para um roteador:

  • Host virtual configurado para comunicação não segura pela porta 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Exemplo:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • O host virtual está configurado para encerrar o SSL na porta 443 do roteador

    curl -v --resolve HOST_ALIAS:443:127.0.0.1 https://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Exemplo:

    curl -v --resolve myorg-test.mycompany.com:443:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Cenário 2: solicitações de API para o alias do host que apontam para ELBs

Se a entrada DNS do alias do host estiver configurada para apontar para um Elastic Load Balancer (ELB), será possível usar os seguintes comandos curl para fazer as solicitações de API diretamente para um roteador:

  • Host virtual configurado para comunicação não segura pela porta 80

    curl -v --resolve HOST_ALIAS:80:127.0.0.1 http://HOST_ALIAS/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Exemplo:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • O host virtual configurado para uma porta alta e SSL é encerrado em um balanceador de carga em frente ao roteador da Apigee

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 http:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Exemplo:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • O host virtual configurado para uma porta alta e o SSL são encerrados no roteador da Apigee

    Em outras palavras, o balanceador de carga está configurado para usar a passagem TCP para o roteador da Apigee.

    curl -v --resolve HOST_ALIAS:PORT_NUMBER:127.0.0.1 https:/HOST_ALIAS:PORT_NUMBER/PROXY_BASE_PATH/ -H 'HEADER: VALUE'
    

    Exemplo:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 https://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    

Como executar solicitações diretamente nos processadores de mensagens da Apigee

Cenário 1: solicitação de API para o processador de mensagens por meio da porta padrão 8998

A porta padrão em que o processador de mensagens detecta o tráfego do roteador Apigee é a 8998. Portanto, em todos os casos em que essa porta não foi alterada, o tráfego precisa ser enviado diretamente para ela em uma instância específica do processador de mensagens, como no exemplo a seguir. A solicitação curl precisa ser enviada para o URL http://INTERNAL_IP_OF_MP:8998 com o cabeçalho X-Apigee.Host e o nome do host do valor, incluindo a porta usada nos hosts virtuais, conforme mostrado nestes três exemplos:

  • O host virtual está configurado para terminação SSL no roteador

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Exemplo:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • O host virtual é configurado para uma "porta alta" e a terminação SSL acontece em um balanceador de carga OU em um roteador da Apigee:

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Exemplo:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • O host virtual está configurado para a porta http 80 padrão

    curl -v http://INTERNAL_IP_OF_MP:8998/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:80'
    

    Exemplo:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    

Cenário 2: solicitação de API para o processador de mensagens via porta SSL 8443

É possível configurar a comunicação SSL entre o roteador e o processador de mensagens. Os exemplos a seguir usam a porta 8443, a porta sugerida pela documentação da Apigee.

  • O host virtual está configurado para terminação SSL no roteador

    curl -v -k https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:443'
    

    Exemplo:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • O host virtual é configurado para terminação SSL em um balanceador de carga e o tráfego é encaminhado para uma porta alta para o roteador

    curl -v https://INTERNAL_IP_OF_MP:8443/PROXY_BASE_PATH/ -H 'HEADER: VALUE' -H 'X-Apigee.Host: HOST_ALIAS:PORT_NUMBER'
    

    Exemplo:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'