הגדרה והסרה של מטא-נתונים מותאמים אישית

כל רשומה של מטא-נתונים מאוחסנת בשרת המטא-נתונים כצמדי מפתח/ערך. המפתחות של המטא-נתונים הם תלויי אותיות רישיות. המפתחות יכולים להיות מפתחות מטא-נתונים מוגדרים מראש או מותאמים אישית.

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

במאמר הזה מוסבר איך לבצע את הפעולות הבאות:

לפני שמתחילים

  • כדאי לעיין במושגי היסוד של הגדרת מטא-נתונים של מכונות וירטואליות ב-Compute Engine, סיווג וסידור שלהם. מידע נוסף זמין במאמר מידע על מטא-נתונים של מכונות וירטואליות.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להגדרה או להסרה של מטא-נתונים בהתאמה אישית במכונות וירטואליות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

  • Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) במכונה הווירטואלית או בפרויקט
  • אם המכונות הווירטואליות משתמשות בחשבונות שירות: משתמש בחשבון שירות (roles/iam.serviceAccountUser) בחשבון השירות או בפרויקט

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

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

ההרשאות הנדרשות

כדי להגדיר או להסיר מטא-נתונים מותאמים אישית במכונות וירטואליות, צריך את ההרשאות הבאות:

  • אם המכונות הווירטואליות משתמשות בחשבונות שירות: iam.serviceAccounts.actAs בחשבונות השירות או בפרויקט
  • כדי להוסיף, לעדכן או להסיר מטא-נתונים מותאמים אישית של פרויקט:
    • compute.projects.get בפרויקט
    • compute.projects.setCommonInstanceMetadata בפרויקט
  • כדי להוסיף, לעדכן או להסיר מטא-נתונים מותאמים אישית ברמת האזור:
    • compute.instanceSettings.get בהגדרות המופע באזור הנדרש בפרויקט
    • compute.instanceSettings.update בהגדרות המופע באזור הנדרש בפרויקט
  • כדי להוסיף, לעדכן או להסיר מטא-נתונים מותאמים אישית של מופע:
    • compute.instances.get במכונה הווירטואלית
    • compute.instances.setMetadata במכונה הווירטואלית

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

מגבלות

יש מגבלות על רשומות המטא-נתונים של מכונות וירטואליות.

מגבלות גודל

ב-Compute Engine יש מגבלה כוללת של 512 KB לכל רשומות המטא-נתונים. מגבלות הגודל המקסימלי חלות גם על כל key ועל כל value באופן הבא:

  • לכל מטא-נתונים key יש מגבלה מקסימלית של 128 בייטים.
  • לכל מטא-נתון value יש מגבלה מקסימלית של 256 KB.

לדוגמה, מפתחות SSH מאוחסנים כמטא-נתונים מותאמים אישית תחת המפתח ssh-keys. אם תוכן המטא-נתונים או value של המפתח הזה חורג מהמגבלה של 256 KB, לא תוכלו להוסיף עוד מפתחות SSH. אם הגעתם למגבלה הזו, כדאי להסיר מפתחות שלא בשימוש כדי לפנות מקום למטא-נתונים של מפתחות חדשים.

בנוסף, אם מספקים את התוכן של סקריפטים להפעלה או לכיבוי ישירות, התוכן הזה עשוי להיחשב כמטא-נתונים מותאמים אישית ולכלול את מגבלות הגודל האלה. כדי למנוע את הבעיה הזו, מאחסנים את סקריפט לטעינה בזמן ההפעלה או לכיבוי כקובץ שמתארח במיקום חיצוני, כמו Cloud Storage, ומספקים את כתובת ה-URL של סקריפט לטעינה בזמן ההפעלה כשיוצרים מכונה וירטואלית. כך הקבצים האלה יורדו למכונה הווירטואלית, במקום להיות מאוחסנים בשרת המטא-נתונים.

מגבלות על אותיות רישיות ומאותיות קטנות

  • כל מטא-נתון key הוא תלוי אותיות רישיות.

  • כל מטא-נתון value הוא תלוי-אותיות רישיות, למעט ערכים בוליאניים.

מגבלות על מטא-נתונים אזוריים

  • אפשר להגדיר ולהסיר מטא-נתונים אזוריים רק באמצעות ה-CLI של gcloud או REST.

  • אי אפשר ליצור שני מפתחות נפרדים של מטא נתונים עם אותו מחרוזת, גם אם המפתחות נכתבים באותיות שונות. לדוגמה, אם כבר קיים מפתח מטא-נתונים מותאם אישית בשם zonal-metadata-key למטא-נתונים אזוריים באזור מסוים, אי אפשר ליצור מפתחות חדשים של מטא-נתונים אזוריים שהם וריאציות של אותו מחרוזת, כמו Zonal-Metadata-Key או ZONAL-METADATA-KEY.

  • אי אפשר להגדיר ערכים של מטא-נתונים אזוריים למפתחות SSH, שמאוחסנים כמטא-נתונים בהתאמה אישית תחת המפתח ssh-keys.

ערכים בוליאניים

בשדות שמקבלים ערכים בוליאניים, TRUE או FALSE, אפשר להשתמש גם בערכים הבאים:

סטטוס ערכים חלופיים
TRUE Y, Yes, 1
FALSE N, No, 0

הערכים הבוליאניים לא תלויי רישיות. לדוגמה, אפשר להשתמש ב-False, ב-false או ב-FALSE כדי להשבית תכונה.

הגדרת מטא-נתונים בהתאמה אישית במכונות וירטואליות

בקטע הזה מוסבר איך להוסיף מטא-נתונים מותאמים אישית חדשים או לעדכן ערכים קיימים של מטא-נתונים מותאמים אישית במכונות וירטואליות ב-Compute Engine באחת מהדרכים הבאות:

הגדרת מטא-נתונים מותאמים אישית של פרויקט

אפשר להוסיף או לעדכן את המטא-נתונים המותאמים אישית של כל המכונות בפרויקט באמצעות מסוף Cloud de Confiance , Google Cloud CLI או REST.

כדי להחיל את הגדרות המטא-נתונים על כל המכונות הווירטואליות בפרויקט, פועלים לפי ההוראות האלה. לדוגמה, אם מגדירים זוג מטא-נתונים של פרויקט baz=bat, זוג המטא-נתונים הזה יוחל באופן אוטומטי על כל המכונות הווירטואליות בפרויקט.

המסוף

  1. נכנסים לדף Metadata במסוף Cloud de Confiance .

    מעבר לדף 'מטא-נתונים בהתאמה אישית'

  2. לוחצים על עריכה בחלק העליון של הדף.

  3. כדי להוסיף רשומות חדשות של מטא-נתונים מותאמים אישית לפרויקט:

    1. גוללים לתחתית הדף ולוחצים על הוספת פריט.
    2. בשדה מפתח, מזינים את השם של מפתח המטא-נתונים המותאם אישית.
    3. בשדה ערך, מזינים את ערך המטא-נתונים המותאם אישית של הפרויקט.
    4. זה שינוי אופציונלי. כדי להוסיף עוד רשומות של מטא-נתונים מותאמים אישית של פרויקט, חוזרים על השלבים הקודמים לכל רשומה של מטא-נתונים שרוצים להוסיף.
    5. כדי לסיים את הוספת רשומות המטא-נתונים של הפרויקט בהתאמה אישית, לוחצים על שמירה.
  4. כדי לערוך רשומות קיימות של מטא-נתונים מותאמים אישית של פרויקט:

    1. עוברים לרשומה של המטא-נתונים שרוצים לערוך.
    2. כדי לעדכן את השם של מפתח ספציפי של מטא-נתונים מותאמים אישית, מזינים את השם החדש בשדה מפתח של הרשומה הרלוונטית.
    3. כדי לעדכן את הערך של רשומה של מטא-נתונים מותאמים אישית של פרויקט, מזינים את הערך החדש בשדה Value של הרשומה.
    4. זה שינוי אופציונלי. כדי להסיר רשומת מטא-נתונים ספציפית של פרויקט בהתאמה אישית, לוחצים על סמל המחיקה לצד רשומת המטא-נתונים.
    5. כדי לערוך כמה רשומות של מטא-נתונים של פרויקט בהתאמה אישית, חוזרים על השלבים הקודמים לכל רשומה של מטא-נתונים שרוצים לערוך.
    6. כדי לסיים לערוך את רשומות המטא-נתונים של הפרויקט המותאם אישית, לוחצים על שמירה.

gcloud

משתמשים בפקודה project-info add-metadata.

gcloud compute project-info add-metadata \
    --metadata=KEY=VALUE

מחליפים את מה שכתוב בשדות הבאים:

  • KEY: השם של מפתח המטא-נתונים
  • VALUE: הערך שמאוחסן עבור המפתח הזה

דוגמה

לדוגמה, כדי להגדיר שתי רשומות חדשות foo=bar ו-baz=bat בפרויקט, מריצים את הפקודה הבאה:

gcloud compute project-info add-metadata \
    --metadata=foo=bar,baz=bat

אפשר לציין קובץ אחד או יותר לקריאת מטא-נתונים באמצעות הדגל --metadata-from-file.

REST

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

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

    אם לא מספקים טביעת אצבע, לא מתבצעת בדיקה של העקביות, והבקשה projects().setCommonInstanceMetadata מצליחה. ההתנהגות הזו שונה מהשיטות instances().setMetadata ו-instanceSettings().patch, שבהן תמיד נדרש טביעת אצבע.

    כדי לקבל את טביעת האצבע הנוכחית של פרויקט, צריך לבצע קריאה ל-method‏ project().get.

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID
    

    הפלט אמור להיראות כך:

    {
      "name": "myproject",
      "commonInstanceMetadata": {
        "kind": "compute#metadata",
        "fingerprint": "FikclA7UBC0=",
        ...
      }
    }
    
  2. שולחים בקשה לשיטה projects().setCommonInstanceMetadata ומגדירים את צמדי המפתח/ערך של המטא-נתונים המותאמים אישית:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata
    
    {
      "fingerprint": "FikclA7UBC0=",
      "items": [
        {
        "key": "foo",
        "value": "bar"
        }
      ]
    }
    

מחליפים את PROJECT_ID במזהה הפרויקט.

הגדרת מטא-נתונים אזוריים בהתאמה אישית

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

  • ליצור מפתחות חדשים של מטא-נתונים מותאמים אישית לאזור ספציפי בפרויקט ולהגדיר מטא-נתונים לכל המכונות הווירטואליות באותו אזור באותו פרויקט.
  • עדכון הערכים של רשומות קיימות של מטא-נתונים מותאמים אישית ברמת האזור לכל המכונות הווירטואליות באזור מסוים בפרויקט.
  • למפתחות קיימים של מטא-נתונים בהתאמה אישית שיש להם ערכים של מטא-נתונים ברמת הפרויקט, אפשר לבטל את הערכים האלה של מטא-נתונים ברמת הפרויקט באזורים ספציפיים, ולהגדיר במקומם מטא-נתונים ברמת האזור. אחרי שמגדירים מטא-נתונים אזוריים למפתחות האלה באזור מסוים, כל מכונות ה-VM באותו אזור באותו פרויקט משתמשות בערכי המטא-נתונים האזוריים של המפתחות האלה.

דברים שחשוב לדעת לפני שמגדירים מטא-נתונים מותאמים אישית ברמת האזור

רשומות של מטא-נתונים ברמת הפרויקט וברמת האזור מאוחסנות באותה ספרייה, project/. אם מגדירים ערכים שונים לאותם מפתחות של מטא-נתונים בהתאמה אישית למכונות וירטואליות ברמת הפרויקט וברמת האזור, ערכי המטא-נתונים האזוריים של המפתחות האלה מקבלים עדיפות על פני ערכי המטא-נתונים של הפרויקט באזורים הרלוונטיים.

  • אם מוסיפים ערך של מטא-נתונים אזורי למפתח מטא-נתונים שכבר יש לו ערך של מטא-נתונים ברמת הפרויקט, מערכת Compute Engine מחליפה את ערך המטא-נתונים ברמת הפרויקט עבור מכונות ה-VM באזור שצוין, ומעדכנת את ספריית /project עם הערך האזורי.
  • אם מוסיפים ערך חדש של מטא-נתונים של פרויקט למפתח מטא-נתונים שכבר יש לו ערך של מטא-נתונים אזוריים, לא יקרה שום שינוי. ‫Compute Engine שומר את ערך המטא-נתונים של התחום בספרייה /project בתחום הספציפי.
  • אם לא מציינים ערך של מטא-נתונים אזוריים למפתח של מטא-נתונים בהתאמה אישית באזור מסוים, אבל למפתח יש ערך של מטא-נתונים ברמת הפרויקט, המכונות הווירטואליות ימשיכו לקבל את הערכים של המטא-נתונים ברמת הפרויקט באזורים האלה.

התהליך

אפשר להוסיף או לעדכן את המטא-נתונים המותאמים אישית של אזור מסוים בפרויקט באמצעות Google Cloud CLI או REST.

gcloud

  • כדי להוסיף או לעדכן מטא-נתונים מותאמים אישית ברמת האזור, משתמשים בפקודה gcloud compute project-zonal-metadata add.

    gcloud compute project-zonal-metadata add \
      --zone=ZONE \
      --project=PROJECT_ID  \
      --metadata=KEY1=VALUE1,KEY2=VALUE2,...

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו רוצים להוסיף או לעדכן מטא-נתונים אזוריים.
    • KEY1, KEY2...: מפתחות המטא-נתונים המותאמים אישית שרוצים להוסיף או לעדכן עבורם ערכי מטא-נתונים אזוריים.
    • VALUE1, ‏ VALUE2: ערכי המטא-נתונים האזוריים שרוצים להגדיר למפתחות המטא-נתונים המותאמים אישית הקיימים ולמפתחות המטא-נתונים המותאמים אישית החדשים. אחד מהדברים הבאים יקרה, בהתאם למפתח ולערך של המטא-נתונים בהתאמה אישית:

    • אם מפתח המטא-נתונים המותאם אישית התואם הוא מפתח קיים שיש לו מטא-נתונים של הפרויקט, אז באזור שצוין, Compute Engine מחליף את ערך המטא-נתונים של הפרויקט של המפתח בערך המטא-נתונים האזורי שצוין. כל מכונות ה-VM באזור שצוין בפרויקט יקבלו בירושה את המטא-נתונים החדשים של האזור עבור המפתח הזה, ומכונות ה-VM באזורים אחרים ימשיכו לשמור על ערכי המטא-נתונים הקיימים של הפרויקט או האזור. אם תבצעו בעתיד עדכונים בערך המטא-נתונים של הפרויקט עבור המפתח הזה, המכונות הווירטואליות באזור הזה בפרויקט לא יושפעו וימשיכו להשתמש בערך המטא-נתונים האזורי עבור המפתח הזה.

    • אם מפתח המטא-נתונים המותאם אישית התואם הוא מפתח מטא-נתונים חדש שלא נמצא בשימוש במטא-נתונים קיימים ברמת הפרויקט או ברמת האזור, מערכת Compute Engine יוצרת את מפתח המטא-נתונים המותאם אישית ומגדירה את הערך הזה כמטא-נתונים ברמת האזור באזור שצוין.

    • אם מפתח המטא-נתונים המותאם אישית התואם הוא מפתח מטא-נתונים קיים עם ערך מטא-נתונים אזורי באזור שצוין:

      • אם ערך המטא-נתונים שצוין שונה מהערך הקיים, Compute Engine מעדכן את רשומת המטא-נתונים האזורית עם הערך החדש.
      • אם ערך המטא-נתונים שצוין זהה לערך הקיים, רשומת המטא-נתונים האזורית לא משתנה.

דוגמה: הוספת רשומה חדשה של מטא-נתונים אזוריים בהתאמה אישית

לדוגמה, נניח שיש פרויקט בשם my-project עם המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"value-1" ו-"key-2":"value-2"

כדי להוסיף את "key-4":"value-4" כזוג חדש של מטא-נתונים בהתאמה אישית באזור us-central1-a, מריצים את הפקודה הבאה

gcloud compute project-zonal-metadata add \
    --metadata=key-4=value-4 \
    --project=my-project \
    --zone=us-central1-a

דוגמה: עדכון הערכים של רשומה קיימת של מטא-נתונים מותאמים אישית אזוריים

נשתמש באותו פרויקט לדוגמה my-project, שכולל עכשיו את המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"value-1",‏ "key-2":"value-2" ו-"key-4":"value-4"

כדי לעדכן את ערכי המטא-נתונים האזוריים של key-1 ו-key-4 באזור us-central1-a בערכים חדשים, מריצים את הפקודה הבאה.

gcloud compute project-zonal-metadata add \
    --metadata=key-1=new-value-1,key-4=new-value-4 \
    --project=my-project \
    --zone=us-central1-a

דוגמה: החלפת ערך המטא-נתונים של הפרויקט עבור מפתח מסוים ושימוש בערך מטא-נתונים אזורי

נשתמש באותו פרויקט לדוגמה my-project, שכולל עכשיו את המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"new-value-1",‏ "key-2":"value-2" ו-"key-4":"new-value-4"

בדוגמה הזו של פרויקט, נניח שיש לנו את key-3 עם ערך המטא-נתונים של הפרויקט value-c. נניח שרוצים להגדיר ערך של מטא-נתונים אזוריים value-3 למפתח הזה לכל המכונות הווירטואליות באזור us-central1-a. כשמבצעים את הפעולה, מערכת Compute Engine מחליפה את ערכי המטא-נתונים של הפרויקט ומשתמשת בערכי המטא-נתונים האזוריים של כל המכונות הווירטואליות באזור us-central1-a. המכונות הווירטואליות בכל האזורים האחרים בפרויקט שומרות על ערכי המטא-נתונים של הפרויקט או של האזור שחלים עליהן לגבי key-3.

כדי לשנות את ערך המטא-נתונים של הפרויקט עבור key-3 ולהגדיר ערך של מטא-נתונים אזוריים, מריצים את הפקודה הבאה:

gcloud compute project-zonal-metadata add \
    --metadata=key-3=value-3 \
    --project=my-project \
    --zone=us-central1-a

REST

  1. מקבלים את טביעת האצבע הנוכחית וצופים בצמדי מפתח/ערך קיימים בפרויקט באזור הזה.

    כדי לבצע נעילה אופטימית, צריך לספק טביעת אצבע. טביעת אצבע היא מחרוזת אקראית של תווים שנוצרת על ידי Compute Engine. טביעת האצבע משתנה בכל פעם ששולחים בקשה להוספה, לעדכון או להסרה של מטא-נתונים אזוריים, ואם טביעת האצבע שסיפקתם לא תואמת, Compute Engine דוחה את הבקשה.

    אם לא תספקו טביעת אצבע, תתבצע בדיקה של העקביות והבקשה לעדכון לא תצליח. השיטה הזו מאפשרת לשלוח רק בקשה אחת בכל פעם, וכך מונעת התנגשויות. ההתנהגות הזו זהה לזו של instances().setMetadata, שבה תמיד נדרש טביעת אצבע.

    כדי לקבל את טביעת האצבע הנוכחית של המטא-נתונים האזוריים, שולחים בקשת GET אל ה-method‏ instanceSettings().get.

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו רוצים להגדיר את המטא-נתונים האזוריים.

    זוהי דוגמה לפלט של הבקשה הזו:

        {
          "fingerprint": "VlRIl8dx9vk=",
          "metadata": {
            ...
          }
        }
    
  2. כדי להוסיף או לעדכן את המטא-נתונים האזוריים, שולחים PATCH בקשה לשיטה instanceSettings().patch. בבקשה צריך לציין את הפרטים הבאים:

    • מסכת עדכון. משתמשים בפרמטר update_mask של שאילתה. מסכת העדכון צריכה לכלול את מפתחות המטא-נתונים של הפרטים הבאים:

      • המטא-נתונים החדשים בהתאמה אישית ברמת האזור שרוצים להוסיף
      • המטא-נתונים הקיימים בהתאמה אישית ברמת האזור שרוצים לעדכן את הערכים שלהם

      חובה להוסיף את המחרוזת metadata.items. כקידומת לכל מפתח – לדוגמה, metadata.items.key1,metadata.items.key3.

    • בגוף הבקשה מציינים את הפרטים הבאים:

      • המפתחות והערכים של המטא-נתונים החדשים בהתאמה אישית ברמת האזור שרוצים להוסיף
      • המפתחות והערכים של המטא-נתונים הקיימים בהתאמה אישית ברמת האזור שרוצים לעדכן
      • הערך הנוכחי של טביעת האצבע

    PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings?update_mask=PREFIXED_METADATA_KEYS
    {
      "fingerprint": "FINGER_PRINT",
      "metadata": {
        "items": {
          "KEY1": "VALUE1",
          "KEY2": "VALUE2",
          ...
        }
      }
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו רוצים להגדיר את המטא-נתונים האזוריים.
    • PREFIXED_METADATA_KEYS: רשימת מפתחות המטא-נתונים של הפריטים הבאים, כאשר כל מפתח מתחיל בקידומת metadata.items.:

      • המטא-נתונים החדשים בהתאמה אישית ברמת האזור שרוצים להוסיף
      • המטא-נתונים הקיימים בהתאמה אישית ברמת האזור שרוצים לעדכן את הערכים שלהם

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

      metadata.items.key1,metadata.items.key3

    • FINGER_PRINT: ערך טביעת האצבע הנוכחי.

    • KEY1, ‏ KEY2: מפתחות המטא-נתונים בהתאמה אישית ברמת האזור שרוצים להוסיף או לעדכן את הערכים שלהם. מציינים את כל מפתחות המטא-נתונים המותאמים אישית ברמת האזור שציינתם במסכת העדכון.

    • VALUE1, ‏ VALUE2: ערכי המטא-נתונים האזוריים שרוצים להגדיר למפתחות המטא-נתונים המותאמים אישית הקיימים ולמפתחות המטא-נתונים המותאמים אישית החדשים. אחד מהדברים הבאים יקרה, בהתאם למפתח ולערך של המטא-נתונים בהתאמה אישית:

      • אם מפתח המטא-נתונים המותאם אישית התואם הוא מפתח קיים שיש לו מטא-נתונים של הפרויקט, אז באזור שצוין, Compute Engine מחליף את ערך המטא-נתונים של הפרויקט של המפתח בערך המטא-נתונים האזורי שצוין. כל מכונות ה-VM באזור שצוין בפרויקט יקבלו בירושה את המטא-נתונים החדשים של האזור עבור המפתח הזה, ומכונות ה-VM באזורים אחרים ימשיכו לשמור על ערכי המטא-נתונים הקיימים של הפרויקט או האזור. אם תבצעו בעתיד עדכונים בערך המטא-נתונים של הפרויקט עבור המפתח הזה, המכונות הווירטואליות באזור הזה בפרויקט לא יושפעו וימשיכו להשתמש בערך המטא-נתונים האזורי עבור המפתח הזה.
      • אם מפתח המטא-נתונים המותאם אישית התואם הוא מפתח מטא-נתונים חדש שלא נמצא בשימוש במטא-נתונים קיימים של פרויקט או של אזור, מערכת Compute Engine יוצרת את מפתח המטא-נתונים המותאם אישית ומגדירה את הערך הזה כמטא-נתונים של האזור באזור שצוין.
      • אם מפתח המטא-נתונים המותאם אישית התואם הוא מפתח מטא-נתונים קיים עם ערך מטא-נתונים אזורי באזור שצוין:

      • אם ערך המטא-נתונים שצוין שונה מהערך הקיים, ‏ Compute Engine מעדכן את רשומת המטא-נתונים האזוריים עם הערך החדש.

      • אם ערך המטא-נתונים שצוין זהה לערך הקיים, רשומת המטא-נתונים האזורית לא משתנה.

דוגמה: הוספת רשומה חדשה של מטא-נתונים אזוריים בהתאמה אישית

לדוגמה, נניח שיש פרויקט בשם my-project עם המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"value-1" ו-"key-2":"value-2"

כדי להוסיף את "key-4":"value-4" כזוג חדש של מטא-נתונים מותאמים אישית ברמת האזור באזור us-central1-a, שולחים את בקשת PATCH הבאה:

PATCH https://compute.s3nsapis.fr/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-4
{
  "fingerprint": "VlRIl8dx9vk=",
  "metadata": {
  "items": {
    "key-4": "value-4"
    }
  }
}

דוגמה: עדכון הערכים של רשומה קיימת של מטא-נתונים מותאמים אישית אזוריים

נשתמש באותו פרויקט לדוגמה my-project, שכולל עכשיו את המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"value-1",‏ "key-2":"value-2" ו-"key-4":"value-4"

כדי לעדכן את ערכי המטא-נתונים האזוריים של key-1 ו-key-4 באזור us-central1-a בערכים חדשים, שולחים את בקשת PATCH הבאה:

PATCH https://compute.s3nsapis.fr/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-1,metadata.items.key-4
{
  "fingerprint": "VlRIl8dx9vk=",
  "metadata": {
  "items": {
    "key-1": "new-value-1",
    "key-4": "new-value-4"
    }
  }
}

דוגמה: החלפת ערך המטא-נתונים של הפרויקט עבור מפתח והגדרת ערך מטא-נתונים אזורי

נשתמש באותו פרויקט לדוגמה my-project, שכולל עכשיו את המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"new-value-1",‏ "key-2":"value-2" ו-"key-4":"new-value-4"

בדוגמה הזו של פרויקט, נניח שיש לנו את key-3 עם ערך המטא-נתונים של הפרויקט value-c. נניח שרוצים להגדיר ערך של מטא-נתונים אזוריים value-3 למפתח הזה לכל המכונות הווירטואליות באזור us-central1-a. כשמבצעים את הפעולה, מערכת Compute Engine מחליפה את ערכי המטא-נתונים של הפרויקט ומשתמשת בערכי המטא-נתונים האזוריים של כל המכונות הווירטואליות באזור us-central1-a. המכונות הווירטואליות בכל האזורים האחרים בפרויקט שומרות על ערכי המטא-נתונים הקיימים של הפרויקט או האזור עבור key-3.

כדי לבטל את הערך של המטא-נתונים של הפרויקט בשביל key-3 ולהשתמש במקום זאת בערך של המטא-נתונים האזוריים value-3, שולחים את הבקשה הבאה PATCH:

PATCH https://compute.s3nsapis.fr/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-3
{
  "fingerprint": "VlRIl8dx9vk=",
  "metadata": {
  "items": {
    "key-3": "value-3"
    }
  }
}

הגדרת מטא-נתונים של מופע בהתאמה אישית

אפשר להוסיף או לעדכן את המטא-נתונים המותאמים אישית של מכונה וירטואלית אחת באמצעות מסוף Cloud de Confiance , Google Cloud CLI או REST.

אפשר להגדיר מטא-נתונים מותאמים אישית של מופע באחת מהדרכים הבאות:

הוספת מטא-נתונים מותאמים אישית של מופע במהלך יצירת מכונה וירטואלית

אפשר להשתמש בהוראות האלה כדי להוסיף מטא-נתונים למכונה וירטואלית ספציפית בזמן היצירה שלה.

המסוף

  1. נכנסים לדף Create an instance במסוף Cloud de Confiance .

    כניסה לדף Create an instance

  2. מציינים את פרטי המכונה הווירטואלית.

  3. מרחיבים את הקטע אפשרויות מתקדמות ומבצעים את הפעולות הבאות:

    1. מרחיבים את הקטע ניהול.
    2. כדי להוסיף כמה צמדי מפתח/ערך למטא-נתונים בהתאמה אישית, בקטע מטא-נתונים לוחצים על הוספת פריט.
  4. כדי ליצור את המכונה הווירטואלית (VM), לוחצים על האפשרות Create.

gcloud

כדי להגדיר מטא-נתונים מותאמים אישית, משתמשים בפקודה gcloud compute instances create עם הדגל --metadata.

gcloud compute instances create VM_NAME \
--zone=ZONE \
--image-project=IMAGE_PROJECT \
IMAGE_FLAG \
--metadata=KEY=VALUE

מחליפים את מה שכתוב בשדות הבאים:

  • VM_NAME: השם של מכונת ה-VM
  • ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית
  • IMAGE_PROJECT: הפרויקט שמכיל את התמונה שבה רוצים להשתמש למכונה הווירטואלית
  • IMAGE_FLAG: מציינים אחת מהאפשרויות הבאות:

    • משתמשים בדגל --image IMAGE_NAME כדי לציין גרסה ספציפית של תמונה ציבורית.

      לדוגמה, --image debian-12-bookworm-v20241112.

    • משתמשים בדגל --image-family IMAGE_FAMILY_NAME כדי לציין משפחת תמונות.

      כך נוצרת מכונה וירטואלית מתמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש במשפחת התמונות. לדוגמה, אם מציינים --image-family debian-12,‏ Compute Engine משתמש בגרסה האחרונה של תמונת מערכת ההפעלה במשפחת התמונות של Debian 12.

  • KEY: השם של מפתח המטא-נתונים

  • VALUE: הערך שמאוחסן עבור המפתח הזה

דוגמה

לדוגמה, כדי להגדיר מפתח חדש env עם ערך test במכונה וירטואלית בשם example-instance, מריצים את הפקודה הבאה:

 gcloud compute instances create example-instance \
   --zone=us-central1-a --image-project=debian-cloud \
   --image-family=debian-12 \
   --metadata=env=test

REST

משתמשים בשיטה instances.insert ומספקים את המטא-נתונים המותאמים אישית כחלק מהמאפיין metadata בבקשה:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "...": [
    {
    }
    ],
  "metadata": {
    "items": [
      {
        "key": "KEY",
        "value": "VALUE"
      }
    ]
  },
  ..
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית
  • MACHINE_TYPE: סוג המכונה, מוגדר מראש או מותאם אישית, של המכונה הווירטואלית החדשה
  • VM_NAME: name of the new VM
  • KEY: השם של מפתח המטא-נתונים
  • VALUE: הערך שמאוחסן עבור המפתח הזה

הוספה או עדכון של מטא-נתונים מותאמים אישית של מכונה וירטואלית קיימת

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

המסוף

  1. נכנסים לדף VM instances במסוף Cloud de Confiance .

    כניסה לדף VM instances

  2. לוחצים על המופע שרוצים לעדכן את המטא-נתונים שלו.
  3. לוחצים על הלחצן עריכה בחלק העליון של הדף.
  4. בקטע מטא-נתונים בהתאמה אישית, לוחצים על הוספת פריט או עורכים את רשומות המטא-נתונים הקיימות.
  5. שומרים את השינויים.

gcloud

עדכון המטא-נתונים של מכונה וירטואלית באמצעות ה-CLI של gcloud הוא פעולה מצטברת. מציינים רק את מפתחות המטא-נתונים שרוצים להוסיף או לשנות. אם מפתח שסיפקתם כבר קיים, הערך של המפתח הזה מתעדכן לערך החדש.

משתמשים בפקודה instances add-metadata:

gcloud compute instances add-metadata VM_NAME \
    --metadata=KEY=VALUE,KEY=VALUE

מחליפים את מה שכתוב בשדות הבאים:

  • VM_NAME: השם של מכונת ה-VM
  • KEY: השם של מפתח המטא-נתונים
  • VALUE: הערך שמאוחסן עבור המפתח הזה

דוגמאות

אם רוצים להוסיף את הערך foo=bar, משתמשים ב:

gcloud compute instances add-metadata VM_NAME \
    --metadata=foo=bar

אם רוצים לשנות את הערך foo=bar ל-foo=bat, משתמשים בפקודה:

gcloud compute instances add-metadata VM_NAME \
    --metadata=foo=bat

REST

  1. מקבלים את טביעת האצבע הנוכחית ורואים את כל זוגות הערכים של המפתחות הקיימים במכונת ה-VM. כדי לעשות את זה, מבצעים קריאה ל-instances().get.

    טביעת אצבע היא מחרוזת אקראית של תווים שנוצרת על ידי Compute Engine ומשמשת לביצוע נעילה אופטימית. כדי לעדכן את המכונה הווירטואלית, צריך לספק את ערך טביעת האצבע התואם. טביעת האצבע משתנה אחרי כל בקשה, ואם תספקו טביעת אצבע לא תואמת, הבקשה שלכם תידחה. השיטה הזו מאפשרת לבצע רק עדכון אחד בכל פעם, וכך למנוע התנגשויות.

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו נמצאת המכונה הווירטואלית
    • VM_NAME: השם של מכונת ה-VM

    הפלט אמור להיראות כך:

    {
      ...
      "name": "example-instance",
      "metadata": {
        "kind": "compute#metadata",
        "fingerprint": "zhma6O1w2l8="
        "items": [
          {
            "key": "foo",
            "value": "bar"
          }
        ]
        },
      ...
    }
    
  2. שולחים בקשה אל ה-method‏ instances().setMetadata. צריך לספק רשימה של ערכי המטא-נתונים החדשים ואת הערך הנוכחי fingerprint

    אם למכונה הווירטואלית יש צמדי מפתח/ערך קיימים שרוצים לשמור, צריך לכלול אותם בבקשה הזו יחד עם צמדי המפתח/ערך החדשים.

    דוגמה

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata
    
    {
    "fingerprint": "zhma6O1w2l8=",
    "items": [
      {
        "key": "foo",
        "value": "bar"
      },
      {
        "key": "baz",
        "value": "bat"
      }
    ]
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו נמצאת המכונה הווירטואלית
    • VM_NAME: השם של מכונת ה-VM

הסרת מטא-נתונים מותאמים אישית ממכונות וירטואליות

בקטע הזה מוסבר איך להסיר רשומות מותאמות אישית של מטא-נתונים במכונות וירטואליות ב-Compute Engine באחת מהדרכים הבאות:

הסרת מטא-נתונים מותאמים אישית של פרויקט

אפשר להסיר מטא-נתונים מותאמים אישית של פרויקט באמצעות מסוף Cloud de Confiance או Google Cloud CLI.

המסוף

  1. נכנסים לדף Metadata במסוף Cloud de Confiance .

    כניסה לדף Metadata

  2. לוחצים על עריכה בחלק העליון של הדף.

  3. מנווטים לרשומת המטא-נתונים שרוצים להסיר ולוחצים על לחצן המחיקה לצד הרשומה.

    חוזרים על השלב הזה לכל רשומה של מטא-נתונים שרוצים להסיר.

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

gcloud

כדי להסיר מטא-נתונים מותאמים אישית של פרויקט, משתמשים בפקודה gcloud compute project-info remove-metadata.

  • אם רוצים להסיר את רשומות המטא-נתונים בהתאמה אישית למפתחות ספציפיים, מציינים את המפתחות האלה באמצעות הדגל --keys, ומחריגים את הערכים של המפתחות האלה.
gcloud compute project-info remove-metadata \
    --keys=KEY1,KEY2,...
  • אם רוצים להסיר את כל המטא-נתונים המותאמים אישית של המכונה הווירטואלית, מציינים את הדגל --all.
gcloud compute project-info remove-metadata \
    --all

מחליפים את מה שכתוב בשדות הבאים:

  • KEY1, ‏ KEY2: המפתחות המותאמים אישית של מטא-נתוני המופע שרוצים להסיר.

הסרת מטא-נתונים מותאמים אישית של אזור

אפשר להסיר מטא-נתונים מותאמים אישית ברמת האזור באמצעות Google Cloud CLI או REST.

gcloud

כדי להסיר מטא-נתונים בהתאמה אישית ברמת האזור, משתמשים בפקודה gcloud compute project-zonal-metadata remove ומציינים את כל מפתחות המטא-נתונים שרוצים להסיר באמצעות הדגל --keys.

gcloud compute project-zonal-metadata remove \
    --project=PROJECT_ID  \
    --zone=ZONE \
    --keys=KEY1,KEY2,...

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט
  • ZONE: האזור שבו רוצים להסיר את המטא-נתונים האזוריים.
  • KEY1, KEY2...: המפתחות המותאמים אישית של מטא-נתונים אזוריים שרוצים להסיר.

אחרי שמריצים את הפקודה, אם יש ערכים של מטא-נתונים של הפרויקט עבור אחד מהמפתחות שצוינו, המכונות הווירטואליות באזור שצוין יקבלו בירושה את ערכי המטא-נתונים של הפרויקט. אם רשומת המטא-נתונים הוגדרה רק ברמת האזור, ולא קיים ערך מטא-נתונים תואם של הפרויקט עבור המפתח הזה, המכונות הווירטואליות באזור הזה יאבדו את פרטי המטא-נתונים האלה.

דוגמה:

נניח שיש פרויקט לדוגמה my-project עם המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"new-value-1", "key-2":"value-2",‏ "key-3":"value-3" ו-"key-4":"new-value-4"

כדי להסיר את כל המטא-נתונים האזוריים באזור us-central1-a, מריצים את הפקודה הבאה.

gcloud compute project-zonal-metadata remove \
    --metadata=key-1,key-2,key-3,key-4 \
    --project=my-project \
    --zone=us-central1-a

אחרי שמריצים את הפקודה, למכונות הווירטואליות באזור us-central1-a יש את רשומות המטא-נתונים הבאות של הפרויקט בהתאמה אישית:

  • "key-1":"value-a"
  • "key-2":"value-b"
  • "key-3":"value-c"

REST

  1. מקבלים את טביעת האצבע הנוכחית וצופים בצמדי מפתח/ערך קיימים בפרויקט באזור הזה.

    כדי לבצע נעילה אופטימית, צריך לספק טביעת אצבע. טביעת אצבע היא מחרוזת אקראית של תווים שנוצרת על ידי Compute Engine. טביעת האצבע משתנה בכל פעם ששולחים בקשה להוספה, לעדכון או להסרה של מטא-נתונים אזוריים, ואם טביעת האצבע שסיפקתם לא תואמת, Compute Engine דוחה את הבקשה.

    אם לא תספקו טביעת אצבע, תתבצע בדיקה של העקביות והבקשה למחיקה לא תאושר. השיטה הזו מאפשרת לשלוח רק בקשה אחת בכל פעם, וכך מונעת התנגשויות. ההתנהגות הזו זהה לזו של instances().setMetadata, שבה תמיד נדרש טביעת אצבע.

    כדי לקבל את טביעת האצבע הנוכחית של פרויקט, מבצעים קריאה ל-method‏ instanceSettings().get.

    GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו רוצים להסיר את המטא-נתונים האזוריים.

    זוהי דוגמה לפלט של הבקשה הזו:

        {
          "fingerprint": "FikclA7UBC0=",
          "metadata": {
            ...
          }
        }
    
  2. כדי להסיר מטא-נתונים מותאמים אישית ברמת האזור, שולחים בקשת PATCH לשיטה instanceSettings().patch, ומוציאים מגוף הבקשה את מפתחות המטא-נתונים שרוצים להסיר מהם את המטא-נתונים ברמת האזור. בבקשה צריך לציין את הפרטים הבאים:

    • מסכת עדכון. משתמשים בפרמטר update_mask של שאילתה. מסכת העדכון חייבת להכיל את כל המפתחות הקיימים של המטא-נתונים בהתאמה אישית שרוצים להסיר מהם את המטא-נתונים האזוריים. צריך להוסיף את המחרוזת metadata.items. כקידומת לכל מפתח – לדוגמה, metadata.items.key1,metadata.items.key3.

    • בגוף הבקשה, מציינים רק את הערך הנוכחי של טביעת האצבע. לא כוללים את כל מפתחות המטא-נתונים המותאמים אישית שצוינו ב-update mask. אם כוללים מפתחות מטא-נתונים גם במסכת העדכון וגם בגוף הבקשה, מערכת Compute Engine לא מסירה את המטא-נתונים האזוריים של המפתחות האלה.

    PATCH https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings?update_mask=PREFIXED_METADATA_KEYS
    {
      "fingerprint": "FINGER_PRINT",
      "metadata": {
        "items": {
        }
      }
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט
    • ZONE: האזור שבו רוצים להסיר את המטא-נתונים האזוריים.
    • PREFIXED_METADATA_KEYS: רשימה של כל מפתחות המטא-נתונים המותאמים אישית הקיימים שרוצים להסיר מהם מטא-נתונים אזוריים. כל מפתח צריך להתחיל בקידומת metadata.items.. כדי לוודא שבקשת המחיקה תצליח, צריך להחריג את מפתחות המטא-נתונים האלה מגוף הבקשה. אם כוללים מפתחות מטא-נתונים גם במסכת העדכון וגם בגוף הבקשה, מערכת Compute Engine לא מסירה את המטא-נתונים האזוריים של המפתחות האלה.

      לדוגמה, נניח שמפתחות המטא-נתונים הנוכחיים שלכם עם מטא-נתונים אזוריים הם key-1,‏ key-2,‏ key-3 ו-key-4, ואתם רוצים להסיר את רשומות המטא-נתונים האזוריים של key-1 ו-key-2. במקרה כזה, מסכת העדכון צריכה לכלול את המחרוזת הבאה:

      metadata.items.key1,metadata.items.key2

    • FINGER_PRINT: ערך טביעת האצבע הנוכחי.

אחרי ששולחים את הבקשה, אם יש ערכים של מטא-נתונים של הפרויקט עבור אחד מהמפתחות שצוינו, המכונות הווירטואליות באזור שצוין מקבלות בירושה את ערכי המטא-נתונים של הפרויקט. אם מפתח המטא-נתונים הוגדר רק ברמת האזור, ולא קיים ערך מטא-נתונים תואם ברמת הפרויקט עבור המפתח הזה, המכונות הווירטואליות באזור הזה יאבדו את פרטי המטא-נתונים האלה.

דוגמה:

נניח שיש פרויקט לדוגמה my-project עם המטא-נתונים המותאמים אישית הבאים:

  • מטא-נתונים של הפרויקט: "key-1":"value-a", "key-2":"value-b" ו-"key-3":"value-c"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-1":"new-value-1", "key-2":"value-2",‏ "key-3":"value-3" ו-"key-4":"new-value-4"

כדי להסיר את המטא-נתונים האזוריים של key-1 ו-key-2 באזור us-central1-a, שולחים את בקשת PATCH הבאה.

PATCH https://compute.s3nsapis.fr/compute/beta/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-1,metadata.items.key-2
{
  "fingerprint": "FikclA7UBC0=",
  "metadata": {
  "items": {
    }
  }
}

אחרי שהבקשה הזו עוברת, למכונות הווירטואליות באזור us-central1-a יש את המטא-נתונים המותאמים אישית הבאים. מכונות ה-VM מקבלות בירושה את ערכי המטא-נתונים של הפרויקט עבור key-1 ו-key-2, אבל שומרות את המטא-נתונים האזוריים עבור key-3 ו-key-4.

  • מטא-נתונים של הפרויקט: "key-1":"value-a" ו-"key-2":"value-b"
  • מטא-נתונים אזוריים באזור us-central1-a: "key-3":"value-3" ו- "key-4":"new-value-4"

הסרת מטא-נתונים מותאמים אישית של מופע

אפשר להסיר מטא-נתונים מותאמים אישית של מכונה באמצעות מסוף Cloud de Confiance , ‏ Google Cloud CLI או REST.

המסוף

  1. נכנסים לדף VM instances במסוף Cloud de Confiance .

    כניסה לדף VM instances

  2. בעמודה Name (שם), לוחצים על שם המכונה הווירטואלית שרוצים להסיר ממנה מטא-נתונים.
  3. לוחצים על עריכה בחלק העליון של הדף.
  4. בקטע Metadata, לוחצים על Delete item לצד כל רשומה של מטא-נתונים שרוצים להסיר.
  5. כדי לאשר את השינויים ולהסיר את המטא-נתונים המותאמים אישית של המופע, לוחצים על שמירה.

gcloud

כדי להסיר מטא-נתונים מותאמים אישית של מכונה, משתמשים בפקודה gcloud compute instances remove-metadata.

  • אם רוצים להסיר את רשומות המטא-נתונים בהתאמה אישית למפתחות ספציפיים, מציינים את המפתחות האלה באמצעות הדגל --keys, ומחריגים את הערכים של המפתחות האלה.
gcloud compute instances remove-metadata VM_NAME \
    --zone=ZONE  \
    --keys=KEY1,KEY2,...
  • אם רוצים להסיר את כל המטא-נתונים המותאמים אישית של המכונה הווירטואלית, מציינים את הדגל --all.
gcloud compute instances remove-metadata VM_NAME \
    --zone=ZONE  \
    --all

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט.
  • ZONE: האזור של המכונה הווירטואלית.
  • VM_NAME: השם של מכונת ה-VM
  • KEY1, ‏ KEY2: המפתחות המותאמים אישית של מטא-נתוני המופע שרוצים להסיר.

REST

  1. מקבלים את טביעת האצבע הנוכחית ורואים את כל זוגות הערכים של המפתחות הקיימים במכונת ה-VM. כדי לעשות את זה, מבצעים קריאה ל-instances().get.

    טביעת אצבע היא מחרוזת אקראית של תווים שנוצרת על ידי Compute Engine ומשמשת לביצוע נעילה אופטימית. כדי לעדכן את המכונה הווירטואלית, צריך לספק את ערך טביעת האצבע התואם. טביעת האצבע משתנה אחרי כל בקשה, ואם תספקו טביעת אצבע לא תואמת, הבקשה שלכם תידחה. השיטה הזו מאפשרת לבצע רק עדכון אחד בכל פעם, וכך למנוע התנגשויות.

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט.
    • ZONE: האזור של המכונה הווירטואלית.
    • VM_NAME: השם של מכונת ה-VM

    הפלט אמור להיראות כך:

    {
      ...
      "name": "example-instance",
      "metadata": {
        "kind": "compute#metadata",
        "fingerprint": "zhma6O1w2l8="
        "items": [
        {
          "key": "key-1",
          "value": "value-1"
        }
        {
          "key": "key-2",
          "value": "value-2"
        }
        ]
      },
      ...
    }
    
  2. שולחים בקשה אל ה-method‏ instances().setMetadata. כדי שהבקשה תצליח, צריך לכלול בה את הערך הנוכחי של טביעת האצבע של המטא-נתונים.

    • כדי להסיר את כל צמדי המפתח/ערך של מטא-נתונים בהתאמה אישית ממכונה וירטואלית, צריך להחריג את מפתחות המטא-נתונים שרוצים להסיר את ערכי המטא-נתונים שלהם מהמאפיין items.

      POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata
      
      {
      "fingerprint": "FINGER_PRINT"
      "items": [
        {
          "key": "KEY1"
          "value": "VALUE1"
        }
        {
          "key": "KEY2"
          "value": "VALUE2"
        }
        ...
      ]
      }
      
    • כדי להסיר את כל המטא-נתונים המותאמים אישית של המכונה הווירטואלית, צריך להשמיט את המאפיין items לחלוטין.

      POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata
      
      {
      "fingerprint": FINGER_PRINT
      }
      

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט.
    • ZONE: האזור של המכונה הווירטואלית.
    • VM_NAME: השם של מכונת ה-VM
    • FINGER_PRINT: ערך טביעת האצבע הנוכחי.
    • KEY1, ‏ KEY2: המפתחות המותאמים אישית של מטא-נתוני המופע שרוצים להסיר.
    • VALUE1, VALUE2...: הערכים של המפתחות של המטא-נתונים של המופע בהתאמה אישית שרוצים להסיר.

המאמרים הבאים