אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
דוגמאות ה-API של Apigee Edge מכילות את שרתי ה-proxy, כללי המדיניות, הקוד והכלים לדוגמה של ה-API שממחישים את היכולות של שירותי ה-API של Apigee Edge שמתוארים בהמשך.
הוראות לשימוש בדוגמאות מופיעות במאמר שימוש בשרתי proxy לדוגמה של API.
למידה תוך כדי עשייה
רוצים להתחיל לעבוד עם Apigee Edge במהירות ולבנות בסיס ידע מוצק בנושא? ב-GitHub יש לנו ספרייה של דוגמאות ללימודים מעשיים שמאפשרות לכם לפרוס, להפעיל ולעקוב במהירות אחרי כמה פרוקסי לדוגמה, החל מהפרוקסי הפשוט ביותר ועד לפרוקסי שממחיש אימות של מפתח API, מכסה, שמירת תגובות במטמון, טיפול בשגיאות ועוד.
אחרי שמשכפלים את מאגר הקוד ומגדירים את הסביבה (התהליך נמשך כמה דקות), אפשר לנסות כל דוגמה בפחות מדקה. בנוסף, כל דוגמה יוצרת גרסה חדשה של אותו שרת proxy, כך שהסביבה שלכם לא תהיה עמוסה בהרבה דוגמאות. אתם יכולים להחליף בין גרסאות, לפרוס מחדש גרסה אחרת בממשק הניהול ולבדוק את קוד ה-proxy בכל שלב. בנוסף, בקובץ ה-readme של כל דוגמה מוסבר בקצרה מה הדוגמה עושה ואיך היא מוגדרת.
כדאי לנסות! https://github.com/apigee/api-platform-samples/tree/master/learn-edge
דוגמאות של ספרי בישול ב-Docs
הוספנו דוגמאות לנושאים באוסף הפתרונות של proxy ל-API.
| שם | תיאור | סוגי מדיניות | משאבים |
|---|---|---|---|
| javascript-cookbook | הדוגמה הבאה מציגה קטע קוד פשוט ב-JavaScript שמוסיף כותרות HTTP ממשתנים, ממיר דוח מזג אוויר בפורמט XML מ-JSON ל-XML, ומקצץ את התוכן עבור לקוחות ניידים. | minimize.js setHeaders.js |
|
| javascript-mashup-cookbook | אפליקציית JavaScript מלאה שקוראת לממשקי API ציבוריים, משלבת תוצאות ויוצרת תגובה מועשרת לאפליקציית הלקוח. (הערה: פרוקסי ה-API הזה מיישם את אותה פונקציונליות כמו מדיניות ה-mashup, ומראה שאפשר לפתור את אותה בעיה בטכניקות שונות). | JavaScript | MashItUp.js |
| java-hello | קריאה פשוטה ל-Java של 'שלום עולם'. | JavaCallout | JavaHello.java |
| java-cookbook | הפונקציה ממירה את תוכן התשובה ואת הכותרות לאותיות רישיות. | JavaCallout |
ResponseUppercase.java |
| java-properties | הדגמה של שימוש במאפיינים בקריאה ל-Java. | JavaCallout | JavaProperties.java |
| java-error | הדוגמה הזו מראה דפוסי טיפול בשגיאות שאפשר להשתמש בהם בקוד של Java Callout. | JavaCallout | JavaError.java |
| policy-mashup-cookbook | אפליקציה מלאה שמשתמשת בהרכבת מדיניות כדי לקרוא לשני ממשקי API ציבוריים, משלבת את התוצאות ויוצרת תגובה מועשרת לאפליקציית הלקוח. (הערה: פרוקסי ה-API הזה מיישם את אותה פונקציונליות כמו javascript-mashup, ומראה שאפשר לפתור את אותה בעיה בטכניקות שונות). | AssignMessage ServiceCallout ExtractVariables Javascript XMLToJSON |
GenerateResponse.js |
דוגמאות לשרתי proxy ל-API
פרוקסי ה-API הבאים נמצאים ב-GitHub, ובדפי ה-readme שלהם יש תיאורים מפורטים של הדוגמאות. אם אתם רוצים לדעת איך מדיניות מסוימת פועלת בדוגמה, חפשו את המדיניות הרצויה בעמודה Policy Types (סוגי מדיניות) שבהמשך, ואז לחצו על שם הדוגמה בעמודה Name (שם). (המדיניות מקושרת לדפי העיון שלה במסמכי העזרה).
הפניה וכלים
בנוסף לדוגמאות של ספרי המתכונים ולדוגמאות של שרתי proxy שמופיעות בטבלאות שלמעלה, בדוגמאות של Edge ב-GitHub יש גם את המשאבים הבאים:
| שם | תיאור | סוגי מדיניות | משאבים |
|---|---|---|---|
| regex-protection | מדיניות ההגנה מפני איומים באמצעות ביטויים רגולריים יכולה להגן על ממשקי ה-API של הקצה העורפי ועל המיקרו-שירותים מפני מתקפות של הזרקת SQL. | לא רלוונטי | |
| oauth-validate-key-secret | אתם מטמיעים את תהליך ההרשאה מסוג סיסמה של OAuth. צריך לאמת את המפתח והסוד של לקוח האפליקציה ב-Edge לפני שקוראים לספק זהויות חיצוני כדי לאמת את פרטי הכניסה של המשתמש. | OAuthV2, אחרים | לא רלוונטי |
| condition-pattern-matching | הפרוקסי הזה מאפשר לכם לנסות ולבדוק בקלות משפטי תנאי בזרימת נתונים של proxy ל-API. | AssignMessage | לא רלוונטי |
| access-entity | הדוגמה מראה איך לאחזר פרופילים של ישויות ממאגר הנתונים של Apigee Edge. | AssignMessage AccessEntity ExtractVariables |
אין |
| apikey | הטמעה של אימות פשוט של מפתחות API | VerifyAPIKey AssignMessage Quota |
אין |
| async-callout | הדגמה של קריאה פשוטה אסינכרונית באמצעות httpClient של JavaScript. | JavaScript | assemble_response.js callout.js |
| base64encoder | הדגמה של קריאה להכללות של JavaScript ממשאבי JavaScript בשרתי proxy ל-API. | AssignMessage JavaScript |
core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| conditional-policy | הטמעה של אכיפת מדיניות מותנית פשוטה. כשבקשה מכילה כותרת HTTP עם הערך responsetime:true, מדיניות מפעילה סקריפט Python שמוסיף קבוצה של מדדי ביצועים להודעת התגובה, ככותרות HTTP | סקריפט (Python) | timer.py |
| dynamic-endpoint | הטמעה של ניתוב מותנה פשוט בתרחיש קצת יותר מורכב, שבו מוגדרות שתי כתובות URL ונתיב ברירת מחדל אחד. | אין | אין |
| jira-release-notes | זהו proxy ל-API שמשמש את צוות התיעוד של Apigee ליצירת הערות לגבי גרסה מ-Jira. | JSONToXML XSL |
releasenotes_api.xsl |
| kerberos-credential-mediation | בדוגמה הזו אפשר לראות איך לבצע תיווך של אישורי Kerberos ב-Apigee Edge. | JavaCallout | קובץ JAR של Java |
| oauth-advanced | דוגמה מלאה ופעילה של תהליך ההרשאה מסוג Authorization Code Grant, עם Apigee Edge כשרת ההרשאה. |
GenerateAccessToken עוד הרבה אחרים... |
לראות את הקוד לדוגמה |
| oauth-client-credentials | הדגמה של נקודת קצה של טוקן OAuth 2.0 שמוגדרת באופן מלא עבור סוג grant של פרטי הכניסה של הלקוח. | GenerateAccessToken | אין |
| oauth-login-app | הוצא משימוש. במקום זאת, מומלץ לעיין בדוגמה oauth-advanced. | ||
| oauth-validate-key-secret | המאמר מתאר טכניקה לאימות המפתח והסוד של הלקוח לפני שקוראים לספק זהויות כדי לאמת את פרטי הכניסה של המשתמש בתהליך של סוג ההרשאה password grant. | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
אין |
| oauth-verify-accesstoken | הדגמה של proxy ל-API שמוגדר לאמת אסימוני גישה מסוג OAuth 2.0 ולאמת את המכסה. | VerifyAccessToken Quota |
אין |
| oauth10a-3legged | הדגמה של הגדרת OAuth 1.0a עם שלושה רגליים. | GenerateAccessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
אין |
| outbound-oauth | משתמש ב-Microsoft Azure translator API כדי לתרגם ציוצים. לשם כך, הוא מבצע קריאה יוצאת כדי לקבל אסימון גישה ל-OAuth, ואז שומר את האסימון במטמון באמצעות מדיניות השמירה במטמון של API Services, ומשתמש מחדש באסימון השמור במטמון בכל פעם שמתבצעת קריאה יוצאת. הוא כולל גם אפליקציית דפדפן להדגמה שמשמשת להפעלת ה-proxy ל-API. | AssignMessage LookupCache PopulateCache Javascript |
api-config.js api-token-get.js translate-query.js translate-results.js |
| pagination | מבצעת חלוקה לעמודים של הודעת תגובה ב-XML על סמך פרמטרים של מגבלה והיסט שסופקו על ידי הלקוח | AssignMessage ExtractVariables ResponseCache VerifyApiKey XSL |
paginate.xslt |
| response-cache | הדוגמה הזו ממחישה איך לשמור במטמון תחזיות מזג אוויר ב-Edge למשך 10 דקות. | ResponseCache AssignMessage |
אין |
| simple-python | הדגמה של תרחיש פשוט של צירוף סקריפט Python לתגובה שמוסיף לה ערך של כותרת. |
סקריפט (Python) | setHeader.py |
| soap | הדגמה של טרנספורמציית XSL שכותבת מחדש קובץ WSDL בתגובה לבקשה עם פרמטר השאילתה ?wsdl. | AssignMessage ExtractVariables Script (Python) XSL |
calculateaddress.py fixwsdl.xsl |
| סטרימינג | הדגמה של הגדרת סטרימינג ב-HTTP. | אין | אין |
| target-reroute | הדגמה של שימוש ב-JavaScript כדי לבחור באופן דינמי כתובת URL ליעד על סמך התוכן של הודעת בקשה. | ExtractVariables Javascript |
rewriteTargetUrl.js |
| twitter-mobile-timeline | הדוגמה הזו מראה איך להשתמש ב-JavaScript כדי להסיר פרמטרים לא נחוצים מציוצים, וכך ליצור ציר זמן יעיל בטוויטר שמתאים למכשירים ניידים עם משאבים מוגבלים. | AssignMessage JavaScript |
MobileTimeline.js |
| twitter-oembed | הופך תגובות של ציר זמן (לדוגמה, מ-statuses/user_timeline.json) לתגובת oEmbed שמכילה את נתוני ציר הזמן כתוכן HTML עשיר. | AssignMessage JavaScript |
search-oembed.js |
| משתנים | הסרטון הזה מראה איך לחלץ ולהגדיר משתנים על סמך תוכן ההודעה ב-JSON וב-XML. | AssignMessage ExtractVariables XMLToJSON |
minimize.js |
| xmltojson | הפונקציה ממירה נתוני תגובה מ-XML ל-JSON. | XMLToJSON JSONToXML |
אין |
|
|
קובצי סכימת XML שאפשר להשתמש בהם כהפניה כשמגדירים שרתי proxy ל-API, מדיניות, מוצרי API ופרופילים של מפתחים ואפליקציות. |
||
|
|
כולל כלי פריסה, deploy.py, שמייבא proxy ל-API לארגון ב-Apigee Edge ואז פורס אותו בסביבה שצוינה. |
||
|
|
הכלי ליצירת תמונת מצב של הארגון מאחזר את הגדרות הארגון, כולל מפתחים, מוצרי API, מארחים וירטואליים, מיפויים של מפתח/ערך וכו'. אפשר להשתמש בו כדי לגבות את הפרטים של ארגון או כדי לגלות את ההגדרות בארגון. |
Apigee-127
אם אתם מתכנתים, Apigee-127 מאפשר לכם להתחיל לתכנת פרוקסי של API באמצעות Node.js ו-Swagger. דוגמאות ל-a127 זמינות גם ב-GitHub: https://github.com/apigee-127/a127-samples.
שיתוף החוויה שלך
אפשר לשתף את החוויות שלכם בפורום המפתחים של Apigee.