איך לשלוח בקשות API ישירות לנתבים או למעבדי הודעות

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

מבוא

במהלך פתרון הבעיות, כדאי להפעיל ממשקי API ישירות מול רכיבים של Apigee, כמו נתב או מעבד הודעות. לדוגמה, ייתכן שתרצו לעשות זאת כדי:

  • ניפוי באגים בבעיות שמתעוררות לסירוגין בבקשות מסוימות של API שמפנות לבעיה ברכיב Apigee מסוים (נתב/מעבד הודעות).
  • ניתן לאסוף מידע אבחון נוסף על ידי הפעלת מצב ניפוי באגים במופע ספציפי של רכיב Apigee.
  • מציינים שהבעיה נגרמת על ידי רכיב ספציפי של Apigee.
  • בודקים אם פעולות כמו הקפצת מכונה חדשה או הפעלה מחדש של המכונה מניבות את ההשפעה הרצויה.

דרישות מוקדמות

  • גישה ישירה לרכיבי הנתב או למעבדי ההודעות, שלפיהם צריך להריץ בקשות API.
  • יש להתקין את הכלי cURL במופע הספציפי של הרכיב.
  • בקשת ה-API שרוצים לבדוק בפורמט cURL.

    לדוגמה, זו פקודת curl שאפשר להשתמש בה כדי לשלוח בקשה לשרת proxy של API מהמחשב המקומי:

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

איך להריץ בקשות API ישירות מול נתבי Apigee

תרחיש 1: בקשות API אל כינוי מארח שמפנה אל נתבים

אם רשומת ה-DNS של כינוי המארח מוגדרת להפנות לנתבי Apigee Edge (במילים אחרות, אין מאזן עומסים Elastic (ELB)), אפשר להשתמש בפקודות ה-Curl הבאות כדי לשלוח את בקשות ה-API ישירות לנתב:

  • הוגדר מארח וירטואלי לתקשורת לא מאובטחת דרך יציאה 80

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

    לדוגמה:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • המארח הווירטואלי מוגדר לסיים את SSL ביציאה 443 בנתב

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

    לדוגמה:

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

תרחיש 2: בקשות API אל כינוי מארח שמפנה אל ELB

אם רשומת ה-DNS של כינוי המארח מוגדרת להפנות למאזן עומסים Elastic (ELB), אפשר להשתמש בפקודות ה-Curl הבאות כדי לשלוח את בקשות ה-API ישירות לנתב:

  • הוגדר מארח וירטואלי לתקשורת לא מאובטחת דרך יציאה 80

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

    לדוגמה:

    curl -v --resolve myorg-test.mycompany.com:80:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • מארח וירטואלי שהוגדר ליציאה גבוהה ו-SSL מסתיים במאזן עומסים מול נתב Apigee

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

    לדוגמה:

    curl -v --resolve myorg-test.mycompany.com:19001:127.0.0.1 http://myorg-test.mycompany.com/v1/customers -H 'authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2'
    
  • מארח וירטואלי שהוגדר ליציאה גבוהה ו-SSL מסתיים בנתב של Apigee

    במילים אחרות, מאזן העומסים מוגדר להשתמש במעבר TCP לנתב של Apigee.

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

    לדוגמה:

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

איך להריץ בקשות ישירות מול מעבדי הודעות של Apigee

תרחיש 1: בקשת API למעבד הודעות דרך יציאה 8998 המוגדרת כברירת מחדל

יציאת ברירת המחדל שבה מעבד ההודעות מאזין לתנועה מהנתב של Apigee היא 8,998. לכן, בכל המקרים שבהם היציאה הזו לא שונתה, צריך לשלוח את התנועה ישירות ליציאה הזו במופע ספציפי של מעבד הודעות, כמו בדוגמה הבאה. יש לשלוח את בקשת ה-Curl אל כתובת ה-URL http://INTERNAL_IP_OF_MP:8998 יחד עם הכותרת X-Apigee.Host עם שם המארח של הערך, כולל היציאה שבה נעשה שימוש במארחים הווירטואליים, כפי שמתואר בשלוש הדוגמאות הבאות:

  • הוגדר מארח וירטואלי לסיום SSL בנתב

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

    לדוגמה:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:443'
    
  • מארח וירטואלי מוגדר ל'יציאה גבוהה', וסיום SSL מתבצע במאזן עומסים או בנתב Apigee:

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

    לדוגמה:

    curl -v http://10.10.53.115:8998/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:19001'
    
  • המארח הווירטואלי מוגדר ליציאת http 80 כברירת מחדל

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

    לדוגמה:

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

תרחיש 2: בקשת API למעבד הודעות דרך יציאת SSL 8443

אפשר להגדיר תקשורת SSL בין הנתב למעבד ההודעות. בדוגמאות הבאות נעשה שימוש ביציאה 8443, היציאה שהוצעה על ידי התיעוד של Apigee.

  • הוגדר מארח וירטואלי לסיום SSL בנתב

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

    לדוגמה:

    curl -v https://10.10.53.115:8443/v1/customers -H 'Authorization: Bearer AxLqyU09GA10lrAiVRQCGXzMi9W2' -H 'X-Apigee.Host: myorg-test.mycompany.com:80'
    
  • מארח וירטואלי מוגדר לסיום SSL במאזן עומסים, והתנועה מועברת ליציאה גבוהה אל הנתב

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

    לדוגמה:

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