בקשות ותשובות לשידור

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

מה תלמדו בנושא הזה

לאחר קריאת הנושא הזה תדע:

  • מהי הבקשה והתגובה בסטרימינג ב-Apigee Edge
  • מתי להשתמש בסטרימינג של בקשות ותשובות
  • איך מפעילים סטרימינג של בקשות ותשובות

מהו סטרימינג של בקשות ותשובות?

כברירת מחדל, סטרימינג ב-HTTP מושבת, ומטען ייעודי של בקשות HTTP ושל תגובות נכתבות למאגר הזמני בזיכרון לפני העיבוד שלהם בצינור עיבוד הנתונים של שרת ה-API של ה-API. אפשר לשנות את ההתנהגות הזו על ידי הפעלת סטרימינג. כשהסטרימינג מופעל, מטענים ייעודיים (payloads) של בקשות ותגובות מועברים בסטרימינג ללא שינוי באפליקציית הלקוח (בתשובות) ובנקודת הקצה (endpoint) של היעד (לבקשות).

מתי כדאי להפעיל את הסטרימינג?

אם שרת ה-API של ה-API מטפל בבקשות ו/או בתגובות גדולות מאוד (למידע על מגבלות גודל, ראו מה עוד חשוב לדעת על סטרימינג) בהמשך), מומלץ להפעיל את הסטרימינג.

מה עוד צריך לדעת על סטרימינג?

גודל המטען הייעודי של ההודעות מוגבל ל-10MB ב-Edge Cloud ובענן פרטי, גם אם הסטרימינג פועל. בבקשות ובתגובות שהן לא סטרימינג, חריגה מהגודל הזה תוביל לשגיאה protocol.http.TooBigBody.

ב-Edge לפריסות של ענן פרטי, אפשר לשנות את מגבלת גודל התגובה/הבקשות שאינן סטרימינג. חשוב לבצע בדיקה לפני פריסת השינוי בסביבת הייצור.

  • בגרסאות של Edge לענן פרטי שקדמו לגרסה 4.16.01:

    בכל מעבדי ההודעות, צריך לערוך את הקובץ http.properties כדי להגדיל את המגבלה בפרמטר HTTPResponse.body.buffer.limit ואז להפעיל מחדש את מעבד ההודעות.
  • ל-Edge for Private Cloud מגרסה 4.16.01 ואילך:
    1. עורכים את הקובץ /<inst_root>/apigee/customer/application/message-processor.properties. אם הקובץ לא קיים, יוצרים אותו.

    2. מגדירים את המאפיין conf_http_HTTPResponse.body.buffer.limit ב-message-processor.properties. לדוגמה:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. מפעילים מחדש את מעבד ההודעות:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor הפעלה מחדש

    4. חוזרים על הפעולה עבור כל מעבדי ההודעות.

איך מפעילים סטרימינג של בקשות ותשובות

כדי להפעיל סטרימינג של בקשות, צריך להוסיף את המאפיין request.streaming.enabled להגדרות של ProxyEndpoint ו-TargetEndpoint בחבילה של שרת ה-proxy ולהגדיר אותו לערך true. באופן דומה, מגדירים את המאפיין response.streaming.enabled כדי לאפשר סטרימינג של תשובות.

אפשר לאתר את קובצי התצורה האלה בממשק המשתמש של הניהול בתצוגה 'פיתוח' של שרת ה-proxy. אם מפתחים באופן מקומי, קובצי ההגדרות האלה נמצאים ב-apiproxy/proxies וב-apiproxy/targets.

הדוגמה הזו ממחישה איך להפעיל סטרימינג של בקשות ושל תגובות בהגדרה של TargetEndpoint.

<TargetEndpoint name="default">
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
    <Properties>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
      <Property name="supports.http10">true</Property>
      <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property>
      <Property name="retain.queryparams">apikey</Property>
    </Properties>
  </HTTPTargetConnection>
</TargetEndpoint>

בדוגמה הזו מוסבר איך להפעיל סטרימינג של תגובות ובקשות בהגדרה של ProxyEndpoint:

<ProxyEndpoint name="default">
  <HTTPProxyConnection>
    <BasePath>/v1/weather</BasePath>
    <Properties>
      <Property name="allow.http10">true</Property>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
    </Properties>
  </HTTPProxyConnection>
</ProxyEndpoint>

מידע נוסף על קביעת הגדרות של נקודות קצה זמין במאמר חומר עזר בנושא מאפייני נקודת קצה (endpoint).

דוגמאות של קוד קשור

קל להוריד דוגמאות של שרתי proxy ל-API ב-GitHub ולהשתמש בהן. לקבלת מידע על הורדת הדוגמאות ושימוש בהן, קראו את המאמר שימוש בשרתי ה-proxy לדוגמה של API.

שרתי proxy לדוגמה הכוללים סטרימינג כוללים: