Come effettuare richieste API dirette a router o processori di messaggi

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Introduzione

Durante la risoluzione dei problemi, potresti eseguire le API direttamente sui componenti Apigee come un router o un processore di messaggi. Ad esempio, potresti voler eseguire questa operazione per:

  • Esegui il debug di problemi intermittenti con determinate richieste API che rimandano a un problema con un particolare componente Apigee (router/processore di messaggi).
  • Raccogli maggiori informazioni diagnostiche abilitando la modalità di debug su un'istanza specifica di un componente Apigee.
  • Escludi che il problema è causato da un componente Apigee specifico.
  • Scopri se operazioni come la creazione di una nuova istanza o il riavvio dell'istanza hanno l'impatto desiderato.

Prerequisiti

  • Accesso diretto ai componenti del router o del processore di messaggi su cui devono essere eseguite le richieste API.
  • Lo strumento cURL deve essere installato su una determinata istanza del componente.
  • La richiesta API che vuoi testare in formato cURL.

    Ad esempio, ecco un comando curl che potresti usare per effettuare una richiesta a un proxy API dalla tua macchina locale:

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

Come eseguire richieste API direttamente sui router Apigee

Scenario 1: richieste API ad alias host che puntano ai router

Se la voce DNS dell'alias host è configurata in modo da puntare ai router Apigee Edge (in altre parole, non esiste un Elastic Load Balancer (ELB), puoi utilizzare i seguenti comandi curl per effettuare le richieste API direttamente a un router:

  • Host virtuale configurato per comunicazioni non sicure tramite la porta 80

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

    Ad esempio:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • L'host virtuale è configurato per terminare SSL sulla porta 443 del router

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

    Ad esempio:

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

Scenario 2: richieste API ad alias host che puntano a ELB

Se la voce DNS dell'alias host è configurata in modo da puntare a un Elastic Load Balancer (ELB), puoi utilizzare i seguenti comandi curl per effettuare le richieste API direttamente a un router:

  • Host virtuale configurato per comunicazioni non sicure tramite la porta 80

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

    Ad esempio:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtuale configurato per una porta elevata e SSL termina su un bilanciatore del carico di fronte al router Apigee

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

    Ad esempio:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • Host virtuale configurato per una porta elevata e termina il protocollo SSL sul router Apigee

    In altre parole, il bilanciatore del carico è configurato in modo da utilizzare il passthrough TCP per il router Apigee.

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

    Ad esempio:

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

Come eseguire richieste direttamente sui processori di messaggi Apigee

Scenario 1: richiesta API al processore di messaggi tramite la porta predefinita 8998

La porta predefinita su cui il processore di messaggi ascolta il traffico dal router Apigee è 8998. Pertanto, per tutti i casi in cui la porta non è stata modificata, il traffico deve essere inviato direttamente a questa porta su una specifica istanza del processore di messaggi, come nell'esempio seguente. La richiesta curl deve essere inviata all'URL http://INTERNAL_IP_OF_MP:8998 insieme all'intestazione X-Apigee.Host con il valore hostname inclusa la porta utilizzata negli host virtuali, come mostrato nei tre esempi seguenti:

  • L'host virtuale è configurato per la terminazione SSL sul router

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

    Ad esempio:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • L'host virtuale è configurato per una "porta elevata" e la terminazione SSL avviene su un bilanciatore del carico OPPURE su un router Apigee:

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

    Ad esempio:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • L'host virtuale è configurato sulla porta HTTP predefinita 80

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

    Ad esempio:

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

Scenario 2: richiesta API al processore di messaggi tramite la porta SSL 8443

È possibile configurare la comunicazione SSL tra il router e il processore di messaggi. Negli esempi seguenti viene usata la porta 8443, suggerita dalla documentazione di Apigee.

  • L'host virtuale è configurato per la terminazione SSL sul router

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

    Ad esempio:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • L'host virtuale è configurato per la terminazione SSL su un bilanciatore del carico e il traffico viene inoltrato su una porta elevata al router

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

    Ad esempio:

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