הדף הזה רלוונטי ל-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) |
אוסף של צמדי מפתח/ערך שאפשר להפנות אליהם בקבוצות מאפיינים של proxy ל-API. |
Python (py) |
סקריפטים של Python שאליהם יש הפניה בכללי מדיניות של PythonScript. צריך להטמיע את המשאבים ב-Python בלבד. |
Security policy (securityPolicy) |
מדיניות אבטחה מותאמת אישית שאליה מתייחסות JavaCallout policies. |
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 policy
ניהול משאבים ברמת ה-proxy באמצעות ממשק המשתמש
אפשר לנהל משאבים בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש, כמו שמתואר בקטעים הבאים. אפשר גם לנהל משאבים בהיקף של סביבה באמצעות ממשק המשתמש.
צפייה במקורות מידע ברמת ה-proxy באמצעות ממשק המשתמש
-
במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.
בוחרים את ה-proxy ל-API שרוצים לראות את המשאבים שלו. יוצג עורך ה-Proxy בתצוגה סקירה כללית.
- לוחצים על הכרטיסייה פיתוח.
- בחלונית הניווט, גוללים למטה אל משאבים. המשאבים הנוכחיים מוצגים מתחת לזה.
יצירת משאב ברמת ה-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.
- בוחרים פרויקט.
בוחרים סביבה מרשימת הסביבות.
- לוחצים על הכרטיסייה משאבים.
יצירת משאב ברמת הסביבה באמצעות ממשק המשתמש
כדי ליצור משאב ברמת הסביבה באמצעות ממשק המשתמש:
- צפייה במשאבים ברמת הסביבה
- לוחצים על + משאב.
- בחלונית הוספת משאב:
- סוג המשאב: בוחרים את סוג הקובץ של המשאב.
- ייבוא קובץ:
- לוחצים על עיון.
- בוחרים את קובץ המשאב.
- לוחצים על פתיחה.
- משנים את שם המשאב לפי הצורך.
- לוחצים על הוספה.
עדכון משאב ברמת הסביבה באמצעות ממשק המשתמש
כדי לעדכן משאב ברמת הסביבה באמצעות ממשק המשתמש:
- צפייה במשאבים ברמת הסביבה
- בקטע Actions (פעולות), לוחצים על More (עוד) ואז על Edit (עריכה).
- עורכים את המשאב לפי הצורך ולוחצים על שמירה.
מחיקת משאב ברמת הסביבה באמצעות ממשק המשתמש
כדי למחוק משאב ברמת הסביבה באמצעות ממשק המשתמש:
- צפייה במשאבים ברמת הסביבה
- בקטע פעולות, לוחצים על סמל האפשרויות הנוספות ואז על מחיקה.
- מקלידים את שם המשאב ולוחצים על מחיקה כדי לאשר את הפעולה.
ניהול משאבים באמצעות ה-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.
מידע נוסף מופיע במאמר בנושא 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, כדי למחוק משאב שמוגדר בהיקף של 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, פועלים לפי ההוראות בסעיפים הבאים.
כדי למחוק משאב בהיקף סביבה באמצעות ה-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.