הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
הסעיפים הבאים מסבירים איך להבין ולנהל משאבים.
הסבר על המשאבים
סוגים רבים של מדיניות מסתמכים על משאבים. משאבים הם הקבצים שמטמיעים את הקוד או את ההגדרה שצריכים להיות מופעלים על ידי מדיניות כשהיא מצורפת ל-API Proxy. במקרים מסוימים, כמו ב-JavaScript וב-JavaCallout, מדיניות פשוט מגדירה נקודת צירוף ב-proxy ל-API שבה קוד מסוים צריך לפעול. מדיניות JavaScript או JavaCallout היא מצביע למשאב.
סוגי המשאבים
בטבלה הבאה מפורטים סוגי המשאבים:
| סוג המשאב | תיאור |
|---|---|
GraphQL (graphql) |
קובץ סכימה של GraphQL שאליו יש הפניה במדיניות GraphQL. |
JAR (java) |
מחלקות Java בקובץ JAR שאליהן מתייחסים כללי JavaCallout. |
JavaScript (js) |
JavaScript שאליו מתבצעת הפניה על ידי מדיניות JavaScript. |
JavaScript (jsc) |
קובץ JavaScript שעבר קומפילציה ומופנה על ידי מדיניות JavaScript. |
OpenAPI Specification (oas) |
מפרט OpenAPI שמשמש לאימות הודעות בקשה ותגובה מסוג JSON או YAML. |
Property Set (properties) |
אוסף של צמדי מפתח/ערך שאפשר להפנות אליהם באמצעות property sets של proxy ל-API. |
Python (py) |
סקריפטים של Python שאליהם יש הפניה בכללי מדיניות של PythonScript. צריך להטמיע את המשאבים ב-"pure Python" (בשפת Python בלבד). |
Security policy (securityPolicy) |
מדיניות אבטחה מותאמת אישית שאליה מתייחסות מדיניות JavaCallout. |
WSDL (wsdl) |
קבצי WSDL שאליהם יש הפניה בכללי מדיניות של SOAPMessageValidation. |
XSD (xsd) |
סכימות XML שאליהן יש הפניה בכללי מדיניות של SOAPMessageValidation. |
XSL Transformations (xsl) |
טרנספורמציות XSLT שאליהן יש הפניה במדיניות XSLTransform. |
איפה המשאבים מאוחסנים
אפשר לאחסן משאבים במיקומים הבאים. אי אפשר לאחסן קובצי משאבים בארגון.
- גרסה של proxy ל-API: המשאבים זמינים רק לגרסאות של proxy ל-API שבהן המשאבים כלולים. לדוגמה, יכול להיות שתכללו משאב JavaScript בגרסה 1 של proxy ל-API, ואז תשנו את ההטמעה כך שתשתמש בסקריפט Python בגרסה 2 של ה-proxy. לגרסה 1 יש גישה רק למשאב JavaScript, ולגרסה 2 יש גישה רק למשאב Python.
- סביבה: כשמאחסנים משאבים בסביבה (לדוגמה,
testאוprod), הם זמינים לכל proxy ל-API שמוטמע באותה סביבה.
מאגר הסביבה זמין ב-URI הבא, כפי שמתואר ב-List
resource files API ובהמשך ב-Manage resources using the API:
/organizations/$ORG/environments/$ENV/resourcefiles
בטבלה הבאה מוצגות השיטות שבהן אפשר להשתמש כדי ליצור, לעדכן ולמחוק משאבים לכל מאגר:
| מאגר | יצירה | הצגה | עדכון | מחיקה | ||||
|---|---|---|---|---|---|---|---|---|
| API | ממשק משתמש | API | ממשק משתמש | API | ממשק משתמש | API | ממשק משתמש | |
| גרסה של proxy ל-API | ||||||||
| סביבה | ||||||||
לדוגמה, כל קובצי ה-JavaScript שזמינים בסביבה test מאוחסנים במאגר הבא וזמינים לכל proxy ל-API שפועל בסביבה test:
/organizations/$ORG/environments/test/resourcefiles/jsc
תרגום שם המשאב
השמות של המשאבים נפתרים מההיקף הספציפי ביותר להיקף הכללי ביותר. שמות המשאבים נפתרים 'בשרשרת', מרמת הגרסה של ה-proxy ל-API ועד לרמת הסביבה.
נניח שאכלסתם את אותו משאב בשני מאגרי מידע שונים – הגרסה של proxy ל-API וסביבת prod.
נבחן את proxy ל-API שהוגדר עם המדיניות הבאה:
<Javascript name='PathSetterPolicy' timeLimit='200'>
<ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>אי אפשר לפענח את ההפניה למדיניות באופן מפורש למאגר. המערכת תאתר את המשאב הראשון בהיקף המפורט ביותר ששמו תואם לשם המשאב במדיניות.
לכן, כשפורסים את ה-proxy ל-API בסביבה prod, המדיניות תפנה למשאב pathSetter.js שמוגדר בהיקף הסביבה.
כשפורסים את המדיניות בסביבה test, המדיניות תפנה למשאב בטווח של גרסה של proxy ל-API, כי המשאב בטווח של הסביבה נמצא בסביבה prod ולא בסביבה test.
הנחיות לגבי מקורות מידע ב-Java
אפשר להוסיף משאבי Java שעברו קומפילציה כקבצי JAR באמצעות כמה אפשרויות ב-curl, כמו האפשרות -T, --data-binary או -F (לא האפשרות -d). לדוגמה:
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ --data-binary @{jar_file}
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ -T "{jar_file}"
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ -F "file=@{jar_file}"
מידע נוסף:
- שיטות מומלצות ל-Java: שיטות מומלצות לתכנון ולפיתוח של proxy ל-API
- דוגמה ל-Java: מדיניות XSL Transform
ניהול משאבים ברמת ה-proxy באמצעות ממשק המשתמש
אפשר לנהל משאבים בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש, כמו שמתואר בקטעים הבאים. אפשר גם לנהל משאבים בהיקף של סביבה באמצעות ממשק המשתמש.
צפייה במקורות מידע ברמת ה-proxy באמצעות ממשק המשתמש
-
במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.
בוחרים את ה-proxy ל-API שרוצים לראות את המשאבים שלו. יוצג התצוגה סקירה כללית של עורך ה-Proxy.
- לוחצים על הכרטיסייה פיתוח.
- בחלונית הניווט, גוללים למטה אל Resources (מקורות מידע). מתחת לזה מוצגים המשאבים הנוכחיים.
יצירת משאב ברמת ה-proxy באמצעות ממשק המשתמש
כדי ליצור משאב באמצעות ממשק המשתמש של Apigee:
-
במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.
בוחרים את ה-proxy ל-API שרוצים לראות את המשאבים שלו. יוצג התצוגה סקירה כללית של עורך ה-Proxy.
- לוחצים על הכרטיסייה פיתוח.
- בחלונית הניווט, גוללים למטה אל משאבים ולוחצים על הלחצן + שמשמאל.
- בתיבת הדו-שיח הוספת משאב, מזינים את הפרטים הבאים:
- סוג המשאב: בוחרים את סוג הקובץ של המשאב.
- בקטע מקור, בוחרים באפשרות יצירת קובץ חדש או ייבוא קובץ. אם בוחרים באפשרות ייבוא קובץ, צריך גם לבחור קובץ לייבוא בשדה קובץ.
- שם המשאב: מזינים שם למשאב.
- לוחצים על הוספה.
עדכון משאב ברמת ה-proxy באמצעות ממשק המשתמש
עדכון משאב בהיקף של תיקון של שרת proxy ל-API רק אם התיקון לא נפרס. אחרי שפורסים גרסה של proxy ל-API, היא הופכת לבלתי ניתנת לשינוי.
כדי לעדכן משאב בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש:
- צפייה במשאבים שמוגבלים לגרסה של proxy ל-API.
- בתצוגת הניווט, בקטע משאבים, לוחצים על המשאב שרוצים לעדכן.
הערה: בקובצי JAR, מציבים את הסמן מעל המשאב שרוצים לערוך ולוחצים על
. - מעדכנים את מקור המידע לפי הצורך.
הערה: אחרי שמעלים קובץ JAR חדש, לוחצים על עדכון.
מחיקת משאב ברמת ה-proxy באמצעות ממשק המשתמש
אפשר למחוק משאב בהיקף של גרסה של שרת proxy ל-API רק אם הגרסה לא נפרסה. אחרי שפורסים גרסה של proxy ל-API, היא הופכת לבלתי ניתנת לשינוי.
כדי למחוק משאב בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש:
- צפייה במשאבים שמוגבלים לגרסה של proxy ל-API.
- בתצוגה 'ניווט' בקטע 'משאבים', מציבים את הסמן מעל המשאב שרוצים למחוק כדי להציג את תפריט הפעולות.
- לחץ על
. - לוחצים על מחיקה כדי לאשר את הפעולה.
ניהול משאבים ברמת הסביבה באמצעות ממשק המשתמש
אפשר לנהל משאבים בהיקף סביבה באמצעות ממשק המשתמש, כמו שמתואר בקטעים הבאים.
צפייה במשאבים ברמת הסביבה באמצעות ממשק המשתמש
-
במסוף Google Cloud , עוברים לדף Apigee > Admin > Environments.
- בוחרים פרויקט.
בוחרים סביבה מרשימת הסביבות.
- לוחצים על הכרטיסייה משאבים.
יצירת משאב ברמת הסביבה באמצעות ממשק המשתמש
כדי ליצור משאב ברמת הסביבה באמצעות ממשק המשתמש:
- צפייה במשאבים ברמת הסביבה
- לוחצים על + משאב.
- בחלונית הוספת משאב:
- סוג המשאב: בוחרים את סוג הקובץ של המשאב.
- ייבוא קובץ:
- לוחצים על עיון.
- בוחרים את קובץ המשאב.
- לוחצים על פתיחה.
- משנים את שם המשאב, אם צריך.
- לוחצים על הוספה.
עדכון משאב ברמת הסביבה באמצעות ממשק המשתמש
כדי לעדכן משאב ברמת הסביבה באמצעות ממשק המשתמש:
- צפייה במשאבים ברמת הסביבה
- בקטע פעולות, לוחצים על עוד ואז על עריכה.
- עורכים את המשאב לפי הצורך ולוחצים על שמירה.
מחיקת משאב ברמת הסביבה באמצעות ממשק המשתמש
כדי למחוק משאב ברמת הסביבה באמצעות ממשק המשתמש:
- צפייה במשאבים ברמת הסביבה
- בקטע פעולות, לוחצים על סמל האפשרויות הנוספות ואז על מחיקה.
- מקלידים את שם המשאב ולוחצים על מחיקה כדי לאשר את הפעולה.
ניהול משאבים באמצעות ה-API
אפשר לנהל משאבים באמצעות ה-API, כמו שמתואר בקטעים הבאים.
יצירת משאבים באמצעות API
יוצרים משאבים בהיקף של גרסה של proxy ל-API או סביבה, כמו שמתואר בקטעים הבאים.
יצירת משאבים בהיקף של גרסה של proxy ל-API באמצעות API
אפשר ליצור משאבים בהיקף של גרסה של proxy ל-API באמצעות ה-API, כמו שמתואר בקטעים הבאים.כדי ליצור משאב שמוגדר בהיקף של גרסה של שרת proxy ל-API באמצעות ה-API:
- יוצרים את קובץ המשאבים.
- מוסיפים את קובץ המשאבים לחבילת תצורה של proxy ל-API.
- מעלים את ה-bundle באמצעות אחד מממשקי ה-API הבאים:
יצירת משאבים בהיקף של סביבה באמצעות ה-API
כדי ליצור משאבים בהיקף של סביבה באמצעות ה-API, שולחים בקשת POST למשאב הבא:
/organizations/$ORG/environments/$ENV/resourcefiles
צריך להעביר את הפרטים הבאים עם הבקשה:
- מגדירים את פרמטר השאילתה
nameלשם המשאב - מגדירים את פרמטר השאילתה
typeלסוג המשאב הנדרש. - העברת התוכן של קובץ המשאבים כ-
application/octet-streamאו כ-multipart/form-data)
בדוגמה הבאה מוצג איך ליצור משאב JavaScript על ידי העברת התוכן שלו בגוף הבקשה.
curl -X POST https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'
$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.
בדוגמה הבאה אפשר לראות איך מעלים את המשאב כקובץ מהמחשב המקומי. חשוב להשתמש ב--F להעלאה הבינארית ב-curl כדי שקובצי ה-JavaScript בהיקף הסביבה או הארגון יהיו נגישים למדיניות JavaScript.
curl -X POST https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:multipart/form-data" \
-F file=@pathSetter.js
זוהי דוגמה לתשובה:
{ "name" : "pathSetter.js", "type" : "jsc" }
צפייה במשאבים באמצעות ה-API
בקטעים הבאים מוסבר איך לצפות במשאבים באמצעות ה-API.
הצגת כל המשאבים באמצעות ה-API
אפשר להציג את כל המשאבים שמוגדרים לסביבה באמצעות ה-API, כמו שמתואר בקטעים הבאים.
באמצעות ה-API אפשר להציג משאבים בהיקף של סביבה בלבד.
כדי לראות את כל המשאבים בסביבה באמצעות ה-API, שולחים בקשת GET למשאב הבא:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles
בדוגמה הבאה מפורטים כל המשאבים בסביבת test:
curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles
-H "Authorization: Bearer $TOKEN"
$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.
מידע נוסף מופיע במאמר List environment resource files API.
בהמשך מופיעה דוגמה לתגובה.
{
"resourceFile": [
{
"name" : "pathSetter.js",
"type" : "jsc"
}
]
}הצגת התוכן של משאב באמצעות ה-API
כדי לראות את התוכן של משאב בסביבה באמצעות ה-API, שולחים בקשת GET למשאב הבא:
/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
בדוגמה הבאה מפורט התוכן של קובץ ה-JavaScript (jsc) pathSetter.js בסביבת test:
curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN"
$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.
זוהי דוגמה לתשובה:
request.headers["RequestPath"] = context.getVariable("proxy.basepath");עדכון משאבים באמצעות API
מעדכנים משאבים שמוגדרים בהיקף של גרסה של proxy ל-API או סביבה, כמו שמתואר בקטעים הבאים.
עדכון משאבים בהיקף של גרסה של proxy ל-API באמצעות ה-API
כדי לעדכן משאב שמוגדר בהיקף של גרסה של proxy ל-API באמצעות ה-API:
- מורידים את חבילת ההגדרות של ה-proxy ל-API באמצעות Get API proxy revision API עם האפשרויות הבאות:
- מגדירים את פרמטר השאילתה
formatלערךbundle - מגדירים את הכותרת
Acceptל-application/zip
- מגדירים את פרמטר השאילתה
- מעדכנים את קובץ המשאבים בחבילת ההגדרות של proxy ל-API.
- מעלים את חבילת ההגדרות של ה-proxy ל-API באמצעות ה-API Update API proxy revision.
עדכון משאבים בהיקף של סביבה באמצעות ה-API
כדי לעדכן משאב שמוגדר בהיקף של סביבה באמצעות ה-API, שולחים בקשת PUT למשאב הבא:
/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
מעבירים את התוכן של קובץ המשאבים כ-application/octet-stream או כ-multipart/form-data.
בדוגמה הבאה אפשר לראות איך מעדכנים משאב JavaScript על ידי העברת התוכן שלו בגוף הבקשה.
curl -X PUT https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'
$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.
בדוגמה הבאה אפשר לראות איך מעדכנים את קובץ המשאבים באמצעות קובץ מהמחשב המקומי. חשוב להשתמש ב--F להעלאה הבינארית ב-curl כדי שקובצי ה-JavaScript בהיקף הסביבה או הארגון יהיו נגישים למדיניות JavaScript.
curl -X PUT https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:multipart/form-data" \
-F file=@pathSetter.js
זוהי דוגמה לתשובה:
{ "name" : "pathSetter.js", "type" : "jsc" }
מחיקת משאבים באמצעות ה-API
למחוק משאב בהיקף של גרסה של שרת proxy ל-API או סביבה, כמו שמתואר בקטעים הבאים.
מחיקת משאבים בהיקף של גרסה של proxy ל-API באמצעות ה-API
ב-hybrid, כדי למחוק משאב שמוגדר בהיקף של API Proxy באמצעות ה-API:
- מורידים את חבילת ההגדרות של ה-proxy ל-API באמצעות Get API proxy revision API עם האפשרויות הבאות:
- מגדירים את פרמטר השאילתה
formatלערךbundle - מגדירים את הכותרת
Acceptל-application/zip
- מגדירים את פרמטר השאילתה
- מוחקים את קובץ המשאבים מחבילת ההגדרות של ה-proxy ל-API.
- מעלים את חבילת ההגדרות של ה-proxy ל-API באמצעות ה-API Update API proxy revision.
מחיקת משאב בהיקף סביבה באמצעות ה-API
כדי למחוק משאב בהיקף של סביבה באמצעות ה-API, פועלים לפי ההוראות שמפורטות בקטעים הבאים.
כדי למחוק משאב בהיקף סביבה באמצעות ה-API, שולחים בקשת DELETE למשאב הבא:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
בדוגמה הבאה נמחק קובץ משאבי JavaScript pathSetter.js מהסביבה test:
curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js \ -H "Authorization: Bearer $TOKEN"
$TOKEN מוגדר כאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר איך מקבלים אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl. תיאור של משתני הסביבה שבהם אפשר להשתמש מופיע במאמר בנושא הגדרת משתני סביבה לבקשות API של Apigee.
מידע נוסף מופיע במאמר בנושא מחיקת קובץ משאבים באמצעות API.
בהמשך מופיעה דוגמה לתגובה.
{
"name" : "pathSetter.js",
"type" : "jsc"
}גישה למשאב
אופן הגישה למשאב תלוי בסוג המשאב. מידע נוסף זמין במאמר סקירה כללית של מדיניות.
בדוגמאות שבקטע הזה מוסבר איך ליצור ולנהל משאב JavaScript בשם pathSetter.js כדי לאפשר הפניה אליו במדיניות מסוג JavaScript.
כדי לצרף את ה-JavaScript ל-Request PostFlow, יוצרים מדיניות בשם PathSetterPolicy.xml שמפנה לקובץ pathSetter.js:
<Javascript name='PathSetterPolicy' timeLimit='200'>
<ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>לאחר מכן, מפנים למדיניות בהגדרת נקודת הקצה:
<PostFlow>
<Request>
<Step><Name>PathSetterPolicy</Name></Step>
</Request>
<PostFlow>מידע נוסף זמין במאמר בנושא מדיניות JavaScript.