Cómo realizar solicitudes directas a la API a routers o procesadores de mensajes

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

Introducción

Cuando solucionas problemas, es posible que desees ejecutar APIs directamente en los componentes de Apigee, como un router o un procesador de mensajes. Por ejemplo, podrías querer hacerlo para lo siguiente:

  • Depura problemas intermitentes con ciertas solicitudes a la API que apuntan a un problema con un componente específico de Apigee (router o procesador de mensajes).
  • Recopila más información de diagnóstico habilitando el modo de depuración en una instancia específica de un componente de Apigee.
  • Descarta que el problema se deba a un componente específico de Apigee.
  • Descubre si las operaciones, como iniciar una instancia nueva o reiniciar la instancia, tienen el impacto deseado.

Requisitos previos

  • Acceso directo a los componentes del router o del procesador de mensajes en los que se deben ejecutar las solicitudes a la API
  • La herramienta cURL debe instalarse en la instancia específica del componente.
  • Es la solicitud a la API que deseas probar en formato cURL.

    Por ejemplo, aquí tienes un comando curl que puedes usar para realizar una solicitud a un proxy de API desde tu máquina local:

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

Cómo ejecutar solicitudes a la API directamente en los routers de Apigee

Situación 1: Solicitudes a la API para alias de host que apuntan a routers

Si la entrada de DNS del alias de host está configurada para apuntar a los routers de Apigee Edge (en otras palabras, no hay un Elastic Load Balancer [ELB]), puedes usar los siguientes comandos curl para realizar las solicitudes a la API directamente a un router:

  • Host virtual configurado para la comunicación no segura a través del puerto 80

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

    Por ejemplo:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • El host virtual está configurado para finalizar el protocolo SSL en el puerto 443 del router.

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

    Por ejemplo:

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

Situación 2: Solicitudes a la API para alias de host que apuntan a ELB

Si la entrada DNS del alias de host está configurada para apuntar a un balanceador de cargas elástico (ELB), puedes usar los siguientes comandos curl para realizar las solicitudes de API directamente a un router:

  • Host virtual configurado para la comunicación no segura a través del puerto 80

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

    Por ejemplo:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtual configurado para un puerto alto y SSL que finaliza en un balanceador de cargas delante del router de Apigee

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

    Por ejemplo:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtual configurado para un puerto alto y SSL finalizado en el router de Apigee

    En otras palabras, el balanceador de cargas está configurado para usar la transferencia de TCP al router de Apigee.

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

    Por ejemplo:

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

Cómo ejecutar solicitudes directamente en los procesadores de mensajes de Apigee

Situación 1: Solicitud a la API para el procesador de mensajes a través del puerto predeterminado 8998

El puerto predeterminado en el que el procesador de mensajes escucha el tráfico del router de Apigee es el 8998. Por lo tanto, en todos los casos en los que no se cambió este puerto, el tráfico debe enviarse directamente a este puerto en una instancia específica del procesador de mensajes, como en el siguiente ejemplo. La solicitud de curl se debe enviar a la URL http://INTERNAL_IP_OF_MP:8998 junto con el encabezado X-Apigee.Host con el nombre de host del valor, incluido el puerto que se usa en los hosts virtuales, como se muestra en los siguientes tres ejemplos:

  • El host virtual está configurado para la finalización de SSL en el router.

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

    Por ejemplo:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • El host virtual está configurado para un "puerto alto" y la finalización de SSL se produce en un balanceador de cargas O en un router de Apigee:

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

    Por ejemplo:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • El host virtual está configurado para el puerto HTTP predeterminado 80

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

    Por ejemplo:

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

Situación 2: Solicitud a la API para el procesador de mensajes a través del puerto SSL 8443

Es posible configurar la comunicación SSL entre el router y el procesador de mensajes. En los siguientes ejemplos, se usa el puerto 8443, que se sugiere en la documentación de Apigee.

  • El host virtual está configurado para la finalización de SSL en el router.

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

    Por ejemplo:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • El host virtual está configurado para la finalización de SSL en un balanceador de cargas, y el tráfico se reenvía a un puerto alto del router.

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

    Por ejemplo:

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