מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
מה תלמדו בנושא הזה
אחרי שתקראו את הנושא הזה, תדעו:
- מהי סטרימינג של בקשות ותשובות ב-Apigee Edge
- מתי להשתמש בסטרימינג של בקשות ותשובות
- איך מפעילים סטרימינג של בקשות ותשובות
מהי סטרימינג של בקשות ותשובות?
כברירת מחדל, סטרימינג ב-HTTP מושבת, ומטענים ייעודיים (payloads) של בקשות HTTP ושל תגובות נכתבים אחסון זמני בזיכרון לפני העיבוד שלהם על ידי צינור עיבוד הנתונים של ה-API של שרת Proxy. אפשר לשנות את זה ההתנהגות על ידי הפעלת סטרימינג. כשהסטרימינג מופעל, מטענים ייעודיים (payloads) של בקשות ותשובות מועברים בסטרימינג ללא שינוי באפליקציית הלקוח (בתשובות) ובנקודת הקצה של היעד (בשביל בקשות).
מתי כדאי להפעיל את הסטרימינג?
אם שרת ה-proxy ל-API מטפל בבקשות ו/או בתגובות גדולות מאוד (למידע על מגבלות גודל, ראו מה עוד חשוב שאדע לגבי סטרימינג שבהמשך), מומלץ להפעיל את הסטרימינג.
מה עוד חשוב שאדע לגבי סטרימינג?
הגודל של המטען הייעודי של ההודעות מוגבל ל-10MB ב-Edge Cloud
ענן פרטי, גם כשהסטרימינג מופעל. בבקשות ובתגובות שלא זורמת, עולה
שגודל זה יוביל לשגיאה protocol.http.TooBigBody
.
ב-Edge לפריסות של ענן פרטי, אפשר לשנות את גודל הבקשה/התשובה שלא עברו סטרימינג המוגבלות של המשאבים. חשוב לבצע בדיקה לפני פריסת השינוי בסביבת הייצור.
- לגרסאות של Edge for Private Cloud בגרסאות קודמות ל-4.16.01:
בכל מעבדי ההודעות, עורכים את הקובץhttp.properties
כדי להגדיל את מוגבלת בפרמטרHTTPResponse.body.buffer.limit
, ואז מפעילים מחדש במעבד ההודעות. -
ל-Edge for Private Cloud בגרסה 4.16.01 ואילך:
-
עורכים את הקובץ /<inst_root>/apigee/customer/application/message-processor.properties. אם הקובץ לא קיים, יוצרים אותו.
-
מגדירים את הערך conf_http_HTTPResponse.body.buffer.limit ב-message-processor.properties. עבור דוגמה:
conf_http_HTTPResponse.body.buffer.limit=5m -
צריך להפעיל מחדש את מעבד ההודעות:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor הפעלה מחדש -
חוזרים על הפעולה בכל מעבדי ההודעות.
-
איך מפעילים סטרימינג של בקשות ותשובות
כדי להפעיל את הבקשה לסטרימינג, צריך להוסיף את 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>
מידע נוסף על קביעת ההגדרות של נקודות קצה זמין בחומר העזר בנושא מאפיינים של נקודות קצה.
קוד קשור קטעים לדוגמה
קל להוריד ולהשתמש בדוגמאות של שרתי proxy ל-API ב-GitHub. למידע נוסף, ראו שימוש בשרתי proxy לדוגמה של API. להוריד את הדוגמאות ולהשתמש בהן.
שרתי proxy לדוגמה שכוללים סטרימינג של תכונות כוללות:
- סטרימינג – הצגה של שרת proxy ל-API שמוגדר לסטרימינג ב-HTTP.
- יתרונות מרכזיים של Edge: מחולל כתובות URL חתומות – המחשה של השיטה המומלצת ליצירת טופס חתום כתובת URL לגישה לקבצים גדולים במקום לנסות לשדר אותם בבקשה או בתגובה.