הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
קבוצת נכסים היא אוסף מותאם אישית של צמדי מפתח/ערך שמאחסנים נתונים. פרוקסי של API יכולים לאחזר את הנתונים האלה כשהם מופעלים.
למה כדאי להשתמש בקבוצות נכסים?
בדרך כלל, משתמשים בקבוצות של נכסים כדי לאחסן נתונים שלא יפוג תוקפם ושלא צריך להגדיר אותם בתוך הקוד של proxy ל-API. אפשר לגשת לנתונים של קבוצת נכסים בכל מקום בשרת proxy שבו יש גישה למשתני זרימה.
תרחיש נפוץ לשימוש בקבוצות נכסים הוא לספק ערכים שמשויכים לסביבה אחת או אחרת. לדוגמה, אפשר ליצור קבוצת מאפיינים בהיקף סביבה עם ערכי תצורה שספציפיים לפרוקסי שפועלים בסביבת הבדיקה, ועוד קבוצה לסביבת הייצור.
לדוגמה:
- קבוצת המאפיינים
prod-env.propertiesמכילה את המאפייןlog-level=error - קבוצת המאפיינים
test-env.propertiesמכילה את המאפייןlog-level=debug
באופן דומה, אפשר לאחסן מידע על ניתוב ספציפי לסביבה:
- קבוצת המאפיינים
test-env.propertiesמכילה את המאפייןdb-url=mydomain.test.datasource.com - קבוצת המאפיינים
prod-env.propertiesמכילה את המאפייןdb-url=mydomain.prod.datasource.com
היקפי קבוצות נכסים
כשיוצרים קבוצת מאפיינים, אפשר להגדיר את ההיקף שלה לגרסה או לסביבה של proxy ל-API. אי אפשר להגדיר את היקף קבוצת הנכסים לארגון.
בטבלה הבאה מוסבר על ההתנהגות ועל הניהול של קבוצות נכסים עם proxy ל-API והיקף ארגוני:
| היקף | התנהגות בזמן ריצה | ניהול |
|---|---|---|
| API מסוג proxy | המאפיינים זמינים רק לגרסה של ה-proxy ל-API שמכילה את משאב קבוצת המאפיינים. אף proxy ל-API או גרסה אחרת של אותו proxy לא יכולה לגשת לקבוצת המאפיינים הספציפית הזו. | אדמינים יכולים להשתמש ב-Apigee API /resourcefiles או בממשק המשתמש כדי ליצור ולערוך קבוצות של מאפיינים. שמירת ה-proxy ל-API בממשק המשתמש תיצור גרסה חדשה, וקבוצת המאפיינים ששונתה תשויך רק לגרסה הזו. |
| סביבה | המאפיינים זמינים לכל הגרסאות של כל שרתי ה-API proxy בסביבה הזו. פרוקסי של API בסביבות אחרות לא יכולים לגשת לקבוצת המאפיינים הזו. | אדמינים יכולים להשתמש ב-Apigee API /resourcefiles או בממשק המשתמש כדי ליצור, להציג, לעדכן או למחוק קבוצות של מאפיינים בהיקף סביבה. |
מגבלות על קבוצות נכסים
ב-Apigee יש מגבלות על קבוצות של מאפיינים, כמו שמתואר במאמר בנושא מגבלות. בנוסף, קובצי הגדרות מאפיינים צריכים להשתמש באותו תחביר כמו קובצי מאפיינים של Java, עם חריג אחד: אי אפשר להשתמש בסוגריים מסולסלים {} בקובצי הגדרות מאפיינים.
יצירת קבצים של קבוצת נכסים
בדרך כלל, מאחסנים ערכים של קבוצת מאפיינים כצמדי שם/ערך בקובץ. קבצים של קבוצות נכסים הם קבצי משאבים מסוג properties.
קבצים של קבוצות מאפיינים תומכים באותה תחביר כמו קבצי מאפייני Java. לדוגמה, הם יכולים להכיל ערכי Unicode ולהשתמש בתווים # או ! כסמני הערות. יש יוצא מן הכלל אחד: אי אפשר להשתמש בסוגריים מסולסלים {} בקבצים של קבוצת מאפיינים.
חובה להוסיף את הסיומת .properties לשם של קובץ נכס. לדוגמה:
מותר להשתמש ב-myconfig.my_key.properties, אבל אסור להשתמש ב-myconfig.my_key.
המבנה של הגדרת קבוצת מאפיינים הוא: property_set_name.property_name.properties
שם קבוצת המאפיינים ושם המאפיין לא יכולים להכיל נקודות. לדוגמה:
מותר להשתמש ב-myconfig.my_key.properties, אבל אסור להשתמש ב-myconfig.my.key.properties וב-my.config.my_key.properties.
בדוגמה הבאה מוצג קובץ פשוט של הגדרת מאפיינים שמגדיר כמה מאפיינים:
# myProps.properties file # General properties foo=bar baz=biff # Messages/notes/warnings message=This is a basic message. note_message=This is an important message. error_message=This is an error message. # Keys publickey=abc123 privatekey=splitwithsoundman
אחרי שיוצרים קובץ של קבוצת נכסים, מעלים אותו ל-Apigee באמצעות ממשק המשתמש או API.
ניהול של קבוצות מאפיינים באמצעות ממשק המשתמש
אפשר לנהל קבוצות של נכסים בהיקף של גרסה של proxy ל-API באמצעות ממשק המשתמש, באותו אופן שבו מנהלים משאבים אחרים. מידע נוסף זמין במאמר ניהול משאבים ברמת ה-proxy באמצעות ממשק המשתמש.
ניהול של קבוצות נכסים באמצעות ה-API
אפשר לנהל קבוצות של נכסים בהיקף של סביבה או של גרסה של proxy ל-API באמצעות ה-API, כמו שמתואר בקטעים הבאים.
יצירת קבוצות נכסים באמצעות API
בקטעים הבאים מוסבר איך ליצור קבוצות של נכסים בהיקף של סביבה או של גרסה של proxy ל-API באמצעות ה-API.
יצירת קבוצות של מאפיינים בהיקף של גרסה של proxy ל-API באמצעות ממשק ה-API
כדי ליצור קבוצת נכסים בהיקף של גרסה של proxy ל-API באמצעות ה-API:
- יוצרים את קובץ קבוצת הנכסים.
- מוסיפים את קובץ הגדרת המאפיינים לחבילת הגדרות של שרת proxy ל-API.
- מעלים את החבילה באמצעות Create proxy ל-API או Update proxy ל-API revision API.
יצירה של קבוצות נכסים בהיקף של סביבה באמצעות ממשק ה-API
כדי להוסיף קבוצת מאפיינים בהיקף של סביבה באמצעות ה-API, יוצרים את קובץ קבוצת המאפיינים ואז מעלים אותו לסביבה בארגון באמצעות שליחת בקשת POST למשאב הבא:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles
הבקשה צריכה לכלול את הפרטים הבאים:
- מגדירים את פרמטר השאילתה
nameלשם של קבוצת הנכסים - מגדירים את פרמטר השאילתה
typeלערךproperties - העברת התוכן של קובץ הגדרת המאפיינים כ-
application/octet-streamאו כ-multipart/form-data
בדוגמה הבאה, קבוצת מאפיינים בשם MyPropSet מיובאת מהקובץ /Users/myhome/myprops.properties:
curl -X POST "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles?name=MyPropSet&type=properties"
-H "Authorization: Bearer $TOKEN" \
-H "Content-type: multipart/form-data" \
-F file=@/Users/myhome/myprops.properties
$TOKEN מוגדר לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl.
בהמשך מופיעה דוגמה לתגובה.
{
"name": "MyPropSet",
"type": "properties"
}מידע נוסף מופיע במאמר בנושא יצירת API של קובץ משאבים.
הצגת קבוצות של נכסים באמצעות ה-API
בקטעים הבאים מוסבר איך להציג קבוצות של נכסים בהיקף של סביבה באמצעות ה-API.
הצגת כל קבוצות המאפיינים שמוגדרות בהיקף של סביבה באמצעות ה-API
כדי להציג את כל קבוצות הנכסים שמוגדרות לסביבה באמצעות API, שולחים בקשת GET למשאב הבא:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties
בדוגמה הבאה מפורטות כל קבוצות המאפיינים בסביבת הבדיקה:
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties" \
-H "Authorization: Bearer $TOKEN"
$TOKEN מוגדר לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl.
בהמשך מופיעה דוגמה לתגובה.
{
"resourceFile": [
{
"name": "MyPropSet",
"type": "properties"
}
]
}מידע נוסף מופיע במאמר בנושא API לרשימת קובצי משאבים של סביבה.
הצגת התוכן של קבוצת מאפיינים בהיקף של סביבה באמצעות ה-API
כדי להציג את התוכן של קבוצת מאפיינים בהיקף של סביבה באמצעות ה-API, שולחים בקשת GET למשאב הבא:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/properties/name
בדוגמה הבאה מוצג התוכן של קבוצת המאפיינים MyPropSet שהוגדרה בסביבת הבדיקה:
curl -X GET "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet" \
-H "Authorization: Bearer $TOKEN"
$TOKEN מוגדר לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl.
בהמשך מופיעה דוגמה לתגובה.
# myProps.properties file
# General properties
foo=bar
baz=biff
# Messages/notes/warnings
message=This is a basic message.
note_message=This is an important message.
error_message=This is an error message.
# Keys
publickey=abc123
privatekey=splitwithsoundmanמידע נוסף מופיע במאמר בנושא API לרשימת קובצי משאבים של סביבה.
עדכון של קבוצות נכסים באמצעות ה-API
בקטעים הבאים מוסבר איך לעדכן קבוצות של מאפיינים בהיקף של סביבה או של גרסה של שרת proxy ל-API באמצעות ה-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 למשאב הבא:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}
הבקשה צריכה לכלול את הפרטים הבאים:
- הגדרה של {type} לערך
properties - מגדירים את {name} לשם של קבוצת המאפיינים שרוצים לעדכן.
- העברת התוכן של קובץ הגדרת המאפיינים כ-
application/octet-streamאו כ-multipart/form-data
בדוגמה הבאה, קבוצת המאפיינים MyPropSet מתעדכנת באמצעות התוכן של הקובץ /Users/myhome/myprops-revised.properties:
curl -X PUT "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet"
-H "Authorization: Bearer $TOKEN" \
-H "Content-type: multipart/form-data" \
-F file=@/Users/myhome/myprops-revised.properties
$TOKEN מוגדר לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl.
בהמשך מופיעה דוגמה לתגובה.
{
"name": "MyPropSet",
"type": "properties"
}מידע נוסף מופיע במאמר בנושא עדכון של קובץ משאבים באמצעות API.
מחיקת קבוצות של נכסים באמצעות ה-API
בסעיפים הבאים מוסבר איך למחוק קבוצות של מאפיינים בהיקף של סביבה או של גרסה של שרת proxy ל-API באמצעות ה-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, שולחים בקשת DELETE למשאב הבא:
https://apigee.googleapis.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}
צריך להעביר את הפרטים הבאים עם הבקשה:
- הגדרה של {type} לערך
properties - מגדירים את {name} לשם של קבוצת המאפיינים שרוצים למחוק.
בדוגמה הבאה מוחקים את קבוצת המאפיינים MyPropSet:
curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/properties/MyPropSet \ -H "Authorization: Bearer $TOKEN"
$TOKEN מוגדר לאסימון הגישה מסוג OAuth 2.0, כפי שמתואר במאמר קבלת אסימון גישה מסוג OAuth 2.0. מידע על האפשרויות curl שבהן נעשה שימוש בדוגמה הזו מופיע במאמר שימוש ב-curl.
בהמשך מופיעה דוגמה לתגובה.
{
"name": "MyPropSet",
"type": "properties"
}מידע נוסף מופיע במאמר מחיקת קובץ משאבים באמצעות API.
גישה לערכים של קבוצת מאפיינים
אפשר לגשת לערכים של מאפיינים מוגדרים בכל מקום ב-proxy ל-API שבו יש גישה למשתני זרימה: במדיניות, בזרימות, בקוד JavaScript וכו'.
כדי לגשת לערכים בקבוצת מאפיינים, משתמשים בתחביר הבא:
propertyset.[property_set_name].[property_name]
כאשר:
- property_set_name הוא שם הקובץ שהגדרתם (אם השתמשתם בממשק המשתמש) או הערך של פרמטר השאילתה
name(אם השתמשתם ב-API). - property_name הוא שם הנכס. לדוגמה, אם קבוצת הנכסים מכילה את
foo=bar, fooהוא שם הנכס ו-barהוא הערך.
לדוגמה, במדיניות JavaScript, משתמשים בשיטה getVariable() כדי לקבל ערך מקבוצת מאפיינים:
context.getVariable('propertyset.property_set_name.property_name);בדוגמה הבאה מוצג הערך של המאפיין foo בקבוצת המאפיינים בשם MyPropSet:
context.getVariable('propertyset.MyPropSet.foo);אפשר גם להשתמש במדיניות ExtractVariables כדי לקבל את הערך של מאפיין מתוך קבוצת מאפיינים ולהקצות אותו למשתנה אחר, כמו בדוגמה הבאה:
<ExtractVariables name="ExtractVariables-1">
<DisplayName>Extract a portion of the url path</DisplayName>
<Source>request</Source>
<Variable name="propertyset.MyPropSet.foo">
<Pattern>{myVar}</Pattern>
</Variable>
<VariablePrefix>foobar</VariablePrefix>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>
בדוגמה הזו, המדיניות קוראת את המשתנה מהמאפיין name ומקצה את הערך למשתנה ברכיב Pattern.
הקצאת הערך של מפתח של קבוצת מאפיינים באופן דינמי באמצעות מדיניות Assign Message
אפשר להשתמש במדיניות Assign Message כדי להקצות באופן דינמי את הערך של מפתח קבוצת המאפיינים למשתנה של זרימת נתונים. פרטים נוספים מופיעים בתיאור של PropertySetRef בדף העזר בנושא מדיניות Assign Message.למשתמשי Apigee Hybrid
אם אתם משתמשים ב-Apigee hybrid, חשוב לשים לב לנקודות הבאות:
- מישור הניהול ההיברידי מאמת את קבוצת המאפיינים. אם הם תקינים, המאפיינים נשמרים במישור הניהול.
- הכלי לסנכרון מאחזר את נתוני קבוצת המאפיינים ומאחסן אותם באופן מקומי במישור זמן הריצה.
- מעבד ההודעות טוען את קבוצת הנכסים שהורדה ומאפשר לשרתי proxy להפעיל אותה.