ניהול משאבים

הדף הזה רלוונטי ל-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. צריך להטמיע את המשאבים ב-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}"

מידע נוסף:

ניהול משאבים ברמת ה-proxy באמצעות ממשק המשתמש

אפשר לנהל משאבים בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש, כמו שמתואר בקטעים הבאים. אפשר גם לנהל משאבים בהיקף של סביבה באמצעות ממשק המשתמש.

צפייה במקורות מידע ברמת ה-proxy באמצעות ממשק המשתמש

  1. במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.

    מעבר לשרתי proxy ל-API

  2. בוחרים את ה-proxy ל-API שרוצים לראות את המשאבים שלו. יוצג התצוגה סקירה כללית של עורך ה-Proxy.

  3. לוחצים על הכרטיסייה פיתוח.
  4. בחלונית הניווט, גוללים למטה אל משאבים. המשאבים הנוכחיים מוצגים מתחת.

יצירת משאב ברמת ה-proxy באמצעות ממשק המשתמש

כדי ליצור משאב באמצעות ממשק המשתמש של Apigee:

  1. במסוף Google Cloud , נכנסים לדף Apigee > Proxy development > API proxies.

    מעבר לשרתי proxy ל-API

  2. בוחרים את ה-proxy ל-API שרוצים לראות את המשאבים שלו. יוצג התצוגה סקירה כללית של עורך ה-Proxy.

  3. לוחצים על הכרטיסייה פיתוח.
  4. בחלונית הניווט, גוללים למטה אל משאבים ולוחצים על הלחצן + שמשמאל.
  5. בתיבת הדו-שיח הוספת משאב, מזינים את הפרטים הבאים:
    • סוג המשאב: בוחרים את סוג הקובץ של המשאב.
    • בקטע מקור, בוחרים באפשרות יצירת קובץ חדש או ייבוא קובץ. אם בוחרים באפשרות ייבוא קובץ, צריך גם לבחור קובץ לייבוא בשדה קובץ.
    • שם המשאב: מזינים שם למשאב.
  6. לוחצים על הוספה.

עדכון משאב ברמת ה-proxy באמצעות ממשק המשתמש

עדכון משאב בהיקף של תיקון של שרת proxy ל-API רק אם התיקון לא נפרס. אחרי שפורסים גרסה של proxy ל-API, אי אפשר לשנות אותה.

כדי לעדכן משאב בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש:

  1. צפייה במשאבים שמוגבלים לגרסה של proxy ל-API.
  2. בתצוגת הניווט, בקטע משאבים, לוחצים על המשאב שרוצים לעדכן.
    הערה: בקובצי JAR, מציבים את הסמן מעל המשאב שרוצים לערוך ולוחצים על תמונה של סמל העריכה..
  3. מעדכנים את מקור המידע לפי הצורך.
    הערה: אחרי שמעלים קובץ JAR חדש, לוחצים על עדכון.

מחיקה של משאב ברמת ה-proxy באמצעות ממשק המשתמש

אפשר למחוק משאב בהיקף של גרסה של שרת proxy ל-API רק אם הגרסה לא נפרסה. אחרי שפורסים גרסה של proxy ל-API, אי אפשר לשנות אותה.

כדי למחוק משאב בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש:

  1. צפייה במשאבים שמוגבלים לגרסה של proxy ל-API.
  2. בתצוגה 'ניווט' בקטע 'משאבים', מציבים את הסמן מעל המשאב שרוצים למחוק כדי להציג את תפריט הפעולות.
  3. לחץ על תמונה של סמל המחיקה..
  4. לוחצים על מחיקה כדי לאשר את הפעולה.

ניהול משאבים ברמת הסביבה באמצעות ממשק המשתמש

אפשר לנהל משאבים שמוגדרים לסביבה באמצעות ממשק המשתמש, כמו שמתואר בקטעים הבאים.

צפייה במשאבים ברמת הסביבה באמצעות ממשק המשתמש

  1. במסוף Google Cloud , עוברים לדף Apigee > Admin > Environments.

    מעבר אל Environments

  2. בוחרים פרויקט.
  3. בוחרים סביבה מרשימת הסביבות.

  4. לוחצים על הכרטיסייה משאבים.

יצירת משאב ברמת הסביבה באמצעות ממשק המשתמש

כדי ליצור משאב ברמת הסביבה באמצעות ממשק המשתמש:

  1. צפייה במשאבים ברמת הסביבה
  2. לוחצים על + משאב.
  3. בחלונית הוספת משאב:
    • סוג המשאב: בוחרים את סוג הקובץ של המשאב.
    • ייבוא קובץ:
      1. לוחצים על עיון.
      2. בוחרים את קובץ המשאב.
      3. לוחצים על פתיחה.
      4. משנים את שם המשאב, אם צריך.
      5. לוחצים על הוספה.

עדכון משאב ברמת הסביבה באמצעות ממשק המשתמש

כדי לעדכן משאב ברמת הסביבה באמצעות ממשק המשתמש:

  1. צפייה במשאבים ברמת הסביבה
  2. בקטע פעולות, לוחצים על עוד ואז על עריכה.
  3. עורכים את המשאב לפי הצורך ולוחצים על שמירה.

מחיקת משאב ברמת הסביבה באמצעות ממשק המשתמש

כדי למחוק משאב ברמת הסביבה באמצעות ממשק המשתמש:

  1. צפייה במשאבים ברמת הסביבה
  2. בקטע פעולות, לוחצים על סמל האפשרויות הנוספות ואז על מחיקה.
  3. מקלידים את שם המשאב ולוחצים על מחיקה כדי לאשר את הפעולה.

ניהול משאבים באמצעות ה-API

אפשר לנהל משאבים באמצעות ה-API, כמו שמתואר בקטעים הבאים.

יצירת משאבים באמצעות API

יוצרים משאבים בהיקף של גרסה של proxy ל-API או סביבה, כמו שמתואר בקטעים הבאים.

יצירת משאבים בהיקף של גרסה של proxy ל-API באמצעות ה-API

אפשר ליצור משאבים בהיקף של גרסה של proxy ל-API באמצעות ה-API, כמו שמתואר בקטעים הבאים.

כדי ליצור משאב שמוגבל לגרסה של שרת proxy ל-API באמצעות ה-API:

  1. יוצרים את קובץ המשאבים.
  2. מוסיפים את קובץ המשאבים לחבילת הגדרות של שרת proxy ל-API.
  3. מעלים את ה-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‏ pathSetter.js (jsc) בסביבת 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:

  1. מורידים את חבילת ההגדרות של ה-proxy ל-API באמצעות Get API proxy revision API עם האפשרויות הבאות:
    • מגדירים את פרמטר השאילתה format לערך bundle
    • מגדירים את הכותרת Accept ל-application/zip
  2. מעדכנים את קובץ המשאבים בחבילת ההגדרות של proxy ל-API.
  3. מעלים את חבילת ההגדרות של ה-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:

  1. מורידים את חבילת ההגדרות של ה-proxy ל-API באמצעות Get API proxy revision API עם האפשרויות הבאות:
    • מגדירים את פרמטר השאילתה format לערך bundle
    • מגדירים את הכותרת Accept ל-application/zip
  2. מוחקים את קובץ המשאבים מחבילת ההגדרות של ה-proxy ל-API.
  3. מעלים את חבילת ההגדרות של ה-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.