בדף הזה מוסבר איך להגדיר, לקבל ולעדכן משתנים באמצעות Runtime Configurator. משתנים הם צמדי מפתח/ערך ששייכים למשאב RuntimeConfig. כל צמד מפתח-ערך מכיל נתונים שאתם מגדירים. אחרי שיוצרים משתנה, אפשר להגדיר לו watcher או waiter.
מידע נוסף על משתנים ועל שירות Runtime Configurator זמין במאמר יסודות של Runtime Configurator.
במאמר יצירה ומחיקה של משאבי RuntimeConfig מוסבר איך ליצור משאב RuntimeConfig.
לפני שמתחילים
- אם רוצים להשתמש בדוגמאות לשורת הפקודה במדריך הזה, צריך להתקין את כלי שורת הפקודה`gcloud`.
- כדי להשתמש בדוגמאות ל-API במדריך הזה, צריך להגדיר גישה ל-API.
- מומלץ לקרוא את המאמר יסודות של כלי ההגדרה בזמן ריצה.
- אפשר לקרוא את המאמר יצירה ומחיקה של משאבי RuntimeConfig.
יצירת משתנה
משתנה הוא צמד מפתח/ערך. מפתח משתנה יכול להיות שטוח או היררכי. לדוגמה, כל המפתחות הבאים הם מפתחות תקינים:
statususers/jane-smith/favorite-colorusers/total
רק למפתחות של צמתי עלים יכולים להיות ערכים. בדוגמה שלמעלה, אי אפשר להקצות ערך ל:
usersusers/jane-smith
הסיבה לכך היא ששני המקשים האלה מכילים מקשים אחרים מתחתיהם.
כדי ליצור משתנה, משתמשים ב-Deployment Manager, ב-Google Cloud CLI או ב-API.
Deployment Manager
כדי ליצור משתנה ב-Deployment Manager, צריך לציין את סוג המשתנה:
runtimeconfig.v1beta1.variable
במאפיינים של המשתנה, מציינים את name, location ו-value של המשתנה:
- name: [NAME]
type: runtimeconfig.v1beta1.variable
properties:
parent: $(ref.[CONFIG_NAME].name)
variable: [VARIABLE_KEY]
[value | text]: [VARIABLE_VALUE]
where:
-
[NAME]הוא שם המשאב השרירותי של המשתנה הזה. זה לא השם של המשתנה עצמו. -
[CONFIG_NAME]הוא משאב ההגדרות של הבקשה הזו. -
[VARIABLE_KEY]הוא המפתח של המשתנה הזה. לדוגמה,statusו-users/jane-smith/favorite_colorהם מפתחות תקינים. מפתחות של משתנים יכולים להכיל/. מפתח משתנה יכול להכיל ספרות, אותיות, מקפים וקווים נטויים, והאורך המקסימלי של השם הוא 256 תווים. -
[VARIABLE_VALUE]הוא הערך של המשתנה הזה. בהתאם להגדרה הרצויה (האם להקצות ערך כטקסט רגיל או כמחרוזת בקידוד base64), בוחרים את המאפייןvalueאוtext:value: אם מספקים ערך כמחרוזת בקידוד base64, צריך להשתמש במאפייןvalue.-
text: אם מספקים מחרוזת בטקסט לא מוצפן, משתמשים במאפייןtext. המחרוזת צריכה להיות בקידוד UTF-8 תקין.
gcloud
כדי ליצור משתנה באמצעות Google Cloud CLI, משתמשים בפקודה runtime-config configs variables set:
gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
[VARIABLE_VALUE] --config-name [CONFIG_NAME] [--is-text]
where:
-
[VARIABLE_KEY]הוא המפתח של המשתנה. לדוגמה,statusו-users/jane-smith/favorite_colorהם מפתחות תקינים. מפתחות של משתנים יכולים להכיל את התווים/. מפתח משתנה יכול להכיל ספרות, אותיות, מקפים ולוכסנים, והאורך המקסימלי של שם הוא 256 תווים.
[VARIABLE_VALUE]הוא הערך של המשתנה הזה. אפשר להקצות ערך כטקסט רגיל או כמחרוזת בקידוד Base64. אם מציינים ערך בטקסט רגיל, צריך לספק את הדגל--is-text. אחרת, Google Cloud CLI יקודד את הערך בקידוד base64.gcloud beta runtime-config configs variables set [VARIABLE_KEY] \ [VARIABLE_VALUE] --config-name [CONFIG_NAME] --is-textאפשר גם לספק את ערך המשתנה מקובץ. לדוגמה:
cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]הערה: אין צורך לקודד את הערך הזה כי
gcloudיבצע את הקידוד בשבילכם.
[CONFIG_NAME]הוא שם משאב ה-RuntimeConfig שבו צריך ליצור את המשתנה הזה. לדוגמה,frontend-config.לדוגמה:
gcloud beta runtime-config configs variables set example-variable \ my-test-value --config-name example-configה-CLI של gcloud מחזיר תשובה כמו:
Created [https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]].
כברירת מחדל, משתנים קיימים יוחלפו ללא הודעה. אם רוצים לשמור משתנה קיים, צריך לכלול את הדגל --fail-if-present, שיוצר את המשתנה החדש אם הוא לא קיים.
באופן דומה, אפשר גם לגרום לכך שהבקשה של המשתנה תיכשל אם הוא לא קיים, על ידי ציון הדגל --fail-if-absent.
למידע נוסף על הפקודה gcloud, תוכלו לקרוא את מאמרי העזרה של runtime-config variables set.
API
ב-API בארכיטקטורת REST, שולחים בקשת POST ל-URI הבא כדי ליצור משתנה חדש:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables
כאשר [PROJECT_ID] הוא מזהה הפרויקט של הבקשה הזו. מטען הייעודי (payload) של הבקשה מכיל את ה-URI של משאב RuntimeConfig ואת ערך הטקסט הפשוט של המפתח, או את הערך המקודד ב-base64:
{
"name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]"
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
where:
-
[PROJECT_ID]הוא מזהה הפרויקט של הבקשה הזו. -
[CONFIG_NAME]הוא השם של ההגדרה הזו. -
[VARIABLE_KEY]הוא המפתח של המשתנה. לדוגמה,statusו-users/jane-smith/favorite_color. מפתחות של משתנים יכולים להכיל את התווים/. מפתח משתנה יכול להכיל ספרות, אותיות, מקפים ולוכסנים, והאורך המקסימלי של שם הוא 256 תווים.
[VARIABLE_VALUE]הוא הערך של המשתנה הזה. בהתאם להחלטה אם להקצות ערך כטקסט פשוט או כמחרוזת בקידוד base64, בוחרים במאפייןvalueאוtext:value: אם מספקים ערך כמחרוזת בקידוד base64, צריך להשתמש במאפייןvalue.-
text: אם מספקים מחרוזת בטקסט לא מוצפן, משתמשים במאפייןtext. המחרוזת צריכה להיות בקידוד UTF-8 תקין.
אם הפעולה בוצעה ללא שגיאות, ה-API מחזיר תגובה כמו:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:49:00.773366134Z" }
מידע נוסף על השיטה זמין במאמרי העזרה בנושא
variables().create.
עדכון משתנה
Deployment Manager
כדי לעדכן משתנה ב-Deployment Manager:
מגדירים או מעדכנים את מאפייני המשתנה כמו שמתואר במאמר יצירת משתנה.
פועלים לפי השלבים לשליחת בקשת עדכון.
gcloud
כדי לעדכן משתנה, פועלים לפי אותו תהליך שבו יוצרים משתנה.
API
ב-API בארכיטקטורת REST, שולחים בקשת PUT ל-URI הבא כדי לעדכן משתנה:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
where:
-
[PROJECT_ID]הוא מזהה הפרויקט של הבקשה הזו. -
[CONFIG_NAME]הוא השם של ההגדרה הזו. -
[VARIABLE_VALUE]הוא הערך של המשתנה הזה. זו מחרוזת שעברה קידוד base64.
המטען הייעודי (payload) של הבקשה צריך להיות:
{
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
כאשר [VARIABLE_VALUE] הוא הערך של המשתנה הזה. בהתאם להגדרה הרצויה של הערך – כטקסט פשוט או כמחרוזת בקידוד base64 – בוחרים את המאפיין value או text:
-
value: אם מספקים ערך כמחרוזת בקידוד base64, צריך להשתמש במאפייןvalue. -
text: אם מספקים מחרוזת בטקסט לא מוצפן, משתמשים במאפייןtext. המחרוזת צריכה להיות בקידוד UTF-8 תקין.
אם הפעולה בוצעה ללא שגיאות, ה-API מחזיר תגובה כמו:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:46:11.591713370Z", "state": "UPDATED" }
מידע נוסף על השיטה זמין במאמרי העזרה בנושא variables().create.
קבלת הערך של משתנה
Deployment Manager
אפשר לקבל את הערך של משתנה באמצעות אחת מהשיטות הבאות:
gcloud
כדי ליצור משתנה באמצעות Google Cloud CLI, משתמשים בפקודה runtime-config configs variables get-value:
gcloud beta runtime-config configs variables get-value [VARIABLE_KEY] --config-name [CONFIG_NAME]
where:
-
[VARIABLE_KEY]הוא המפתח של המשתנה. לדוגמה,status,users/jane-smith/favorite_color.
[CONFIG_NAME]הוא השם של משאב RuntimeConfig של המשתנה הזה. לדוגמה,website.ה-CLI של gcloud מחזיר תשובה כמו:
example-value
אפשר גם לקבל רשימה של משתנים שיש לכם הרשאת runtimeconfig.variables.get לגביהם, ואת הערכים שלהם, באמצעות הפקודה list והדגל --values. לדוגמה:
gcloud beta runtime-config configs variables list --config-name example-config --values
ה-CLI של gcloud מחזיר רשימה כזו:
NAME UPDATE_TIME VALUE
not-my-favorite-color/shade 2016-04-18T21:14:59.932428461Z orange
not-my-favorite-food/group 2016-04-18T21:14:59.932428461Z vegetables
משתנים שלא קיבלתם לגביהם הרשאת get לא ייכללו. זה כולל משתנים שיש לכם הרשאת list אבל לא הרשאת get.
למידע נוסף על הפקודה gcloud, אפשר לקרוא את מאמרי העזרה של runtime-config variables.
API
ב-API בארכיטקטורת REST, שולחים בקשת GET ל-URI הבא כדי לקבל את הערך של משתנה:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
where:
-
[PROJECT_ID]הוא מזהה הפרויקט של הבקשה הזו. -
[CONFIG_NAME]הוא השם של ההגדרה הזו. -
[VARIABLE_KEY]הוא השם של הבקשה.
אם הפעולה מצליחה, ה-API מחזיר תגובה עם הערך של המשתנה שעבר קידוד בפורמט Base64:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "[VARIABLE_VALUE]", "updateTime": "2016-04-11T21:49:00.773366134Z" }
כדי לקבל את המחרוזת, צריך לפענח את הערך בעצמכם. מידע נוסף על השיטה זמין במאמרי העזרה בנושא variables().get.
אם רוצים לקבל רשימה של משתנים שיש לכם הרשאת runtimeconfig.variables.get לגביהם, ואת הערכים שלהם, משתמשים בשיטה returnValues. לדוגמה:
GET uri: https://runtimeconfig.googleapis.com/v1beta1/projects/myproject/configs/example-config/variables?returnValues=True
ה-API מחזיר את כל המשתנים שיש לכם הרשאה לגשת אליהם:
{
"variables": [
{
"name": "projects/compute-writers-project/configs/example-config/variables/not-my-favorite-color/shade",
"updateTime": "2016-04-18T21:14:59.932428461Z",
"value": "b3Jhbmdl"
}
]
}
באופן דומה, אתם צריכים לפענח את הערך בעצמכם כדי לקבל את המחרוזת.
מידע נוסף על השיטה זמין במאמרי העזרה בנושא variables().list.
מה השלב הבא?
- מידע על הכלי להגדרת זמן ריצה
- מעקב אחרי משתנה ספציפי.
- יצירת Waiter.
- יצירה ומחיקה של משאבי RuntimeConfig.
- מידע נוסף זמין במאמר בנושא v1beta1.
- אפשר לעיין במכסות של Runtime Configurator.