אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
דוגמאות ה-API של Apigee Edge כוללות שרתי proxy לדוגמה של API, מדיניות, קוד וכלים שממחישים את היכולות של שירותי ה-API של Apigee Edge שמתוארים בהמשך.
הוראות לשימוש בדוגמאות מופיעות במאמר שימוש בשרתי proxy לדוגמה של API.
למידה תוך כדי עשייה
רוצים להתחיל לעבוד מהר ולבנות בסיס ידע מוצק על Apigee Edge? ב-GitHub יש לנו ספרייה של דוגמאות ללימוד עצמי שמאפשרות לפרוס, להפעיל ולעקוב במהירות אחרי כמה שרתי proxy לדוגמה. מתחילים עם שרת ה-proxy הפשוט ביותר ועוברים לשרתי proxy שממחישים אימות של מפתח API, מכסה, שמירת תשובות במטמון, טיפול בשגיאות ועוד.
אחרי שמשכפלים את המאגר ומגדירים את הסביבה (תהליך שלוקח כמה דקות), אפשר לנסות כל דוגמה בפחות מדקה. בנוסף, כל דוגמה יוצרת גרסה חדשה של אותו שרת proxy, כך שהסביבה לא תהיה עמוסה בהרבה דוגמאות. אתם יכולים להחליף בין גרסאות, לפרוס מחדש גרסה אחרת בממשק הניהול ולבדוק את קוד ה-proxy בכל שלב. בנוסף, בקובץ ה-readme של כל דוגמה מוסבר בקצרה מה הדוגמה עושה ואיך היא מוגדרת.
כדאי לנסות! https://github.com/apigee/api-platform-samples/tree/master/learn-edge
דוגמאות של ספרי מתכונים ב-Docs
הוספנו דוגמאות לנושאים במדריך בנושא API proxy.
| שם | תיאור | סוגי מדיניות | משאבים |
|---|---|---|---|
| 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 (שם). (המדיניות מקושרת לדפי העיון המתאימים במסמכים).
חומר עזר וכלים
בנוסף לדוגמאות של ספרי המתכונים של Docs ולדוגמאות של שרתי 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 | קובץ Java JAR |
| oauth-advanced | דוגמה מלאה ופעילה של תהליך הרשאה מסוג קוד הרשאה, עם Apigee Edge כשרת ההרשאות. |
GenerateAccessToken עוד הרבה אחרים... |
לראות את הקוד לדוגמה |
| oauth-client-credentials | הדגמה של נקודת קצה (endpoint) של טוקן OAuth 2.0 שמוגדרת באופן מלא עבור סוג ההרשאה של פרטי הכניסה של הלקוח. | GenerateAccessToken | אין |
| oauth-login-app | הוצא משימוש. מומלץ לעיין בדוגמה oauth-advanced במקום זאת. | ||
| oauth-validate-key-secret | המאמר מתאר טכניקה לאימות המפתח והסוד של הלקוח לפני שקוראים לספק זהויות כדי לאמת את פרטי הכניסה של המשתמש בתהליך של סוג ההרשאה לסיסמה. | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
אין |
| oauth-verify-accesstoken | הדגמה של proxy ל-API שמוגדר לאמת אסימוני גישה מסוג OAuth 2.0 ולאמת את המכסה. | VerifyAccessToken Quota |
אין |
| oauth10a-3legged | הדגמה של הגדרת OAuth 1.0a עם שלושה רגליים. | GenerateAceessToken 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.