הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge

עכשיו, אחרי ששיניתם את נקודת הקצה של היעד, אתם יכולים להוסיף מדיניות לשרת ה-proxy.
מדיניות היא רכיב של Apigee שאפשר לצרף לנקודות שונות בזרימת ההודעות דרך שרתי ה-proxy של ה-API. המדיניות יכולה לשנות את פורמט ההודעות, לאכוף בקרת גישה, להתקשר לשירותים מרוחקים, לאשר משתמשים, לבדוק את תוכן ההודעות כדי לזהות איומים פוטנציאליים ועוד.
במדריך הזה תוסיפו את מדיניות XMLtoJSON לשרת ה-proxy. המדיניות הזו ממירה את מטען הנתונים של הודעת XML ל-JSON. היא גם משנה את הכותרת Content-Type של התגובה.
אפשר לצרף מדיניות לזרימה בשרת ה-proxy. הזרימות קובעות איך כללי המדיניות מופעלים. בדוגמה הזו, תוסיפו את המדיניות לזרימה מיוחדת שנקראת PreFlow. כללי המדיניות ב-PreFlow מופעלים לפני כל כללי מדיניות אחרים ב-proxy. לא צריך להבין את ה-Flows לעומק כדי לקרוא את הדוגמה הזו, אבל אפשר לקרוא עליהם מידע נוסף במאמר שליטה ב-proxy ל-API באמצעות Flows.
הוספת המדיניות
מוסיפים את מדיניות XMLtoJSON לשרת ה-proxy.
כדי להוסיף את מדיניות XMLtoJSON לשרת ה-proxy, צריך לבצע שני שלבים:
יצירת מופע של המדיניות
כדי להשתמש במדיניות, קודם צריך ליצור מופע חדש של המדיניות מתבנית המדיניות באופן הבא:
-
במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.
- ברשימת השרתים הפרוקסי, בוחרים את השרת הפרוקסי שרוצים להוסיף לו את המדיניות.
לוחצים על הכרטיסייה פיתוח.
- בחלונית הימנית, לוחצים על הלחצן + לצד התיקייה מדיניות.
- בתיבת הדו-שיח Create policy, בוחרים באפשרות Standard policies כדי לסנן את רשימת המדיניות לפי סוג המדיניות.
- בתיבת הטקסט Select policy type (בחירת סוג המדיניות), גוללים למטה אל Mediation (גישור) ובוחרים באפשרות XML To JSON (המרת XML ל-JSON).
אופציונלי: אפשר לשנות את השם והשם המוצג של המדיניות. כברירת מחדל, Apigee מספק קידומת קצרה לשם המדיניות, במקרה הזה, X2J-, אפשר להוסיף אחרי הקידומת רצף של מילים תיאוריות שמופרדות במקפים. מוסכמות למתן שמות

כשמסיימים, לוחצים על יצירה כדי ליצור את המדיניות.
מדיניות ה-XML To JSON מוצגת עכשיו בחלונית השמאלית בתצוגה Develop:

בחלק התחתון של החלונית מוצג קוד ה-XML של המדיניות.
כדי לקבל מידע נוסף על המדיניות, לוחצים על סמל המידע
לצד שם המדיניות ואז על
מדיניות XML ל-JSON. יוצג דף העזר של המדיניות.
איך משתמשים ב-Gemini Code Assist כדי לבדוק הוראות מדיניות
אתם יכולים להשתמש ב-Gemini Code Assist בממשק המשתמש כדי לקבל מידע על רכיבי מדיניות. מידע נוסף זמין במאמר בנושא שימוש בהסבר קוד של Gemini Code Assist בהתאם למדיניות.
שינוי שם המדיניות
כדי לשנות את השם של מדיניות:
- בחלונית הימנית, בוחרים את המדיניות בקטע Policies (מדיניות).
- ברכיב <DisplayName> בקוד ה-XML של המדיניות,
מוסיפים ביטוי תיאורי למדיניות, כמו change-xml-to-json,
אחרי הקיצור של שם המדיניות:

השם של המדיניות מתעדכן אוטומטית ומוצג בקטע מדיניות.
צירוף המדיניות לשלב ב-PreFlow
אחרי שיצרתם את מדיניות XML To JSON, אתם יכולים לצרף אותה לשלב ב-PreFlow:
- בחלונית הימנית, בוחרים באפשרות Proxy Endpoints > default > PreFlow:

הערה: יכול להיות שתצטרכו להרחיב את העורך החזותי בחלונית הימנית כדי לראות את כל הרכיבים. כדי לעשות זאת, לוחצים על הקו שמפריד בין כלי העריכה החזותי לבין כלי לעריכת טקסט וגוררים אותו קצת למטה.
- לוחצים על הלחצן + לצד PreFlow בחלונית Response בפינה השמאלית התחתונה של כלי העריכה החזותי:

- בתיבת הדו-שיח Add policy step (הוספת שלב מדיניות), בוחרים במדיניות X2J-change-xml-to-json.
לוחצים על הוספה כדי לצרף את המדיניות.
המדיניות X2J-change-xml-to-json מוצגת עכשיו בחלונית Response:

- לוחצים על שמירה כדי לשמור את השינויים בגרסה הנוכחית.
- כדי לפרוס את השינויים בגרסה, לוחצים על Deploy (פריסה) ופועלים לפי ההוראות במאמר פריסת proxy ל-API.
בדיקת המדיניות החדשה
כדי לבדוק את המדיניות החדשה, מריצים את הפקודה curl בחלון המסוף:
curl https://YOUR_ENV_GROUP_HOSTNAME/myproxy
כאשר YOUR ENV_GROUP_HOSTNAME הוא שם המארח של קבוצת הסביבות. אפשר לעיין במאמר בנושא
איתור שם המארח של קבוצת הסביבות.
מידע נוסף זמין במאמר קריאה ל-proxy ל-API.
אפשר גם לפתוח את אותה כתובת URL בדפדפן.
אמורה להתקבל התגובה הבאה:
{
"root": {
"city": "San Jose",
"firstName": "John",
"lastName": "Doe",
"state": "CA"
}
}אם גוף התגובה לא נראה כמו הדוגמה הזו, צריך לבדוק את הדברים הבאים:
- נקודת הקצה (endpoint) של היעד היא
https://mocktarget.apigee.net/xml, כפי שמתואר ב שלב 4: שינוי נקודת הקצה של היעד:- אם התשובה היא
Hello, Guest!, צריך להוסיף את/xmlלסוף נקודת הקצה של היעד. - אם מופיעה השגיאה
404, צריך לוודא שאתם ניגשים ל-apigee.netולא ל-apigee.com.
- אם התשובה היא
- הגרסה האחרונה של ה-proxy שלך נפרסה. נסו לפרוס מחדש את שרת ה-proxy ל-API כמו שמתואר במאמרים פריסת שרת proxy ל-API וביטול הפריסה של שרת proxy ל-API.
כדי לראות את כותרות הבקשה והתגובה של HTTP, מפעילים את האפשרות verbosity ב-curl באמצעות האפשרות -vs (האפשרות v יוצרת תגובה מפורטת, אבל האפשרות s מסתירה חלק מהפרטים הפחות מעניינים). בדוגמה הבאה מניחים ששם ה-proxy הוא myproxy::
curl -vs https://YOUR_ENV_GROUP_HOSTNAME/myproxy | python -m json.tool
אמורה להתקבל תגובה שדומה לזו: שימו לב שהכותרת Content-Type בתשובה היא application/json.
המדיניות XMLtoJSON משנה את הכותרת לפני שהיא שולחת את התגובה בחזרה.
* Trying 10.20.30.40... * TCP_NODELAY set * Connected to apitest.acme.com (10.20.30.40) port 443 (#0) ... > GET /myproxy HTTP/1.1 > Host: apitest.acme.com > User-Agent: curl/7.58.0 > Accept: */* > < HTTP/1.1 200 OK < Date: Fri, 25 May 2018 16:20:00 GMT < Content-Type: application/json;charset=UTF-8 < Content-Length: 77 < Connection: keep-alive < X-Powered-By: Apigee < Access-Control-Allow-Origin: * ... { [77 bytes data] { "root": { "city": "San Jose", "firstName": "John", "lastName": "Doe", "state": "CA" } }