מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
תהליכים הם אבני הבניין הבסיסיות של שרתי proxy ל-API. התהליכים מאפשרים לכם לתכנת את ההתנהגות של ה-API, על ידי מתן אפשרות להגדיר את הרצף שבו המדיניות והקוד ירוצו על ידי API שרת proxy.
לסקירה כללית של מושגים בתהליכים, אפשר לעיין במאמר שליטה באופן הפעולה של שרת proxy באמצעות .
הנושא הזה מתאר איך ליצור תהליכים מותנים ולהוסיף לוגיקה (מדיניות) לתהליכי עבודה גבוהה. באומנות יצירת התנאים יש פירוט רב יותר מזה שנלמד כאן נושא. לפרטים נוספים, ראו סקירה כללית של הזרימה משתנים ותנאים עם משתני זרימה.
צירוף כללי מדיניות לתהליכים
ל-Edge יש הרבה סוגים שונים של כללי מדיניות מוגדרים מראש, שאפשר להשתמש בהם כדי להטמיע אבטחה ולנהל תנועה ועריכה של הודעות. בנוסף, המדיניות מאפשרת לכם להוסיף קוד מותאם אישית משלכם להתאים אישית את עיבוד ההודעה לגמרי.
לדוגמה:
- מצרפים מדיניות אבטחת OAuth אל בקשת ה-PreFlow של ה-ProxyEndpoint. כי הבקשה PreFlow של ProxyEndpoint היא התהליך הראשון בצינור עיבוד הנתונים. ניתן מיד דחיית בקשה אם היא מפרה את מדיניות האבטחה שלכם.
- מצרפים מדיניות בנושא המרת JSON ל-XML כדי תגובה PostFlow של נקודת הקצה (TargetEndpoint) כדי להמיר מ-JSON ל-XML.
- לצרף מדיניות JavaScript לתוכן מותנה תהליך ה-ProxyEndpoint להרצת קוד JavaScript לעיבוד בקשה
אחרי שיוצרים תהליך מותנה, הוא זמין לצירוף של מדיניות. זורמים עם החיים שנבחרו, לוחצים על הסמל + שלב בדיאגרמה של הבקשה או התגובה כדי להוסיף מדיניות חדשה או קיימת לתהליך.
צירוף המדיניות לזרימה שנבחרה מגדיר את שרת ה-proxy ל-API כך שיאכוף את מדיניות מכסות רק לבקשות שנשלחות לשילוב של URI של זרימה ופועל. לדוגמה, אם מצרפת את המדיניות לתהליך הלמידה בבקשה, ה-XML הבא הוא שנוצר בתצוגת הקוד של עורך ה-Proxy:
<ProxyEndpoint name="default"> ... <Flow name="issue"> <Description/> <Request> <Step> <Name>Quota-2</Name> </Step> </Request> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/issue/**") and (request.verb = "GET")</Condition> </Flow> ... </ProxyEndpoint>
בהגדרה הזו, אם בקשת GET מגיעה ל-Proxy ל-API עם URI דפוס של .../issue/** (/בעיה/ עם כל דבר ב-URI אחרי ההעברה האחרונה) קו נטוי), נאכפת מכסה הזו בקריאה ל-API.
מידע על תהליכים מותנים
כל מדיניות שמצורפת ל-PreFlow או ל-PostFlow תמיד מופעלת. אבל, כללי מדיניות בתהליך מותנה מופעלים רק אם התנאי של הזרימה מקבל את הערך True.
במהלך העיבוד של בקשה ותשובה, מתבצע רק תהליך מותנה אחד בכל הפלח – התהליך הראשון שהתנאי שלו שווה ל-true. כלומר, יכול להיות שיש לכם תהליך מותנה שמבוצע כחלק מכל אחד מהרכיבים הבאים:
- צינור עיבוד הנתונים של הבקשות ProxyEndpoint
- צינור עיבוד הנתונים של הבקשות ב-TargetEndpoint
- צינור עיבוד הנתונים של ProxyEndpoint
- צינור עיבוד הנתונים של TargetEndpoint
סרטון: כדאי לצפות בסרטון קצר כדי לקבל מידע נוסף על תהליכים מותנים.
לדוגמה, ההגדרה הבאה של ProxyEndpoint מציגה זרם מותנה שמתבצע לדוגמה
על ידי ProxyEndpoint בכל בקשת HTTP GET
ל-Proxy ל-API:
<ProxyEndpoint name="default"> <PreFlow> <Request/> <Response/> </PreFlow> <Flows> <Flow name="Flow-1"> <Condition>request.verb="GET"</Condition> <Request/> <Response/> </Flow> </Flows> <PostFlow> <Request/> <Response/> </PostFlow> ... </ProxyEndpoint>
שימו לב שהתנאי מפנה לזרימה request.verb מותאם אישית.. משתנה זרימה הוא הפניות בעלות שם שמכילות פרטי מצב משויכים באמצעות טרנזקציית API שמעובדת על ידי Edge. Edge מגדיר משתני מצב רבים הפניה.
שירותי RESTful הם אוספים של משאבי API. משאב API הוא שבר של נתיב URI
שמזהה ישות מסוימת שהמפתחים יכולים לגשת אליה על ידי שליחת קריאה ל-API. לדוגמה, אם
הקצה העורפי של השירות מספק דוחות מזג אוויר ותחזיות מזג אוויר, ה-API יכול להגדיר
תהליכי עבודה מותנים שממופים אל ה-API הזה
משאבים: /reports
ו-/forecasts
. כשקריאה ל-API
כולל אחד מהמשאבים האלה בכתובת ה-URL, התנאי מקבל את הערך True והלוגיקה
שמצורף לתהליך המותנה.
לאחר מכן, מפתחי אפליקציות ניגשים למשאבים על ידי שליחת בקשות לכתובת URL בטופס:
http://myAPIs.myCo.com/weather/reports
או:
http://myAPIs.myCo.com/weather/forecasts
בשרת proxy ל-API אפשר להגדיר תהליך מותנה שתואם resource:
<ProxyEndpoint name="default"> <PreFlow> <Request/> <Response/> </PreFlow> <Flows> <Flow name="Flow-1"> <Condition>(proxy.pathsuffix MatchesPath "/reports")</Condition> <Request/> <Response/> </Flow> <Flow name="Flow-2"> <Condition>(proxy.pathsuffix MatchesPath "/forecasts")</Condition> <Request/> <Response/> </Flow> </Flows> <PostFlow> <Request/> <Response/> </PostFlow> ... </ProxyEndpoint>
בדוגמה הזו אתם מפנים למשתנה הזרימה proxy.pathsuffix
,
שכולל את החלק של הסיומת בכתובת ה-URL שמשמשת כדי לגשת לשרת ה-proxy ל-API. לאחר מכן אפשר לצרף
כללי מדיניות שונים לתהליך המותנה של כל משאב.
הוספת תהליך עבודה מותנה
בדוגמה הקצרה הזו, מגדירים זרימה המופעלת רק כאשר הודעת הבקשה אחזור HTTP.
כדי להוסיף תהליך מותנה, בוחרים בכרטיסייה פיתוח בכלי ליצירת שרתי proxy ל-API.
לוחצים על סמל + בנקודת הקצה הרצויה.
הטופס תהליך מותנה חדש מאפשר לתת שם לתהליך ולהגדיר תנאי. ב
בדוגמה הבאה, מוסיפים תנאי פשוט שמעריך את ה-HTTP של הודעת הבקשה
פועל GET
(בניגוד ל-PUT
, POST
וכו') בכל URI אחרי הנתיב הבסיסי.
(בקישור הבא אפשר ללמוד איך ליצור הצהרות מותנות ב-Flow משתנים תנאים.)
התהליך החדש, שנקרא Flow-1, מופיע עכשיו בתפריט Navigator.
עכשיו בודקים את תצורת ה-XML של ProxyEndpoint. בוחרים באפשרות Flow-1 בקטע תפריט ניווט.
יוצגו ההגדרות הבאות.
<PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <Flows> <Flow name="Flow-1"> <Request/> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/**") and (request.verb = "GET")</Condition> </Flow> </Flows> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow>
השלבים הבאים
הנושאים הבאים מספקים פרטים נוספים על בניית תנאים ושימוש משתנים: