במאמר הזה מוסבר איך למחוק עדכונים של סכימות בנושאי Pub/Sub. פעולת המחיקה של סכימה מוחקת גם את כל הגרסאות שמשויכות לסכימה.
לפני שמתחילים
- הסבר על סכימות של Pub/Sub.
- יוצרים סכימה.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות למחיקה ולניהול של עדכוני סכימה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Pub/Sub Editor (roles/pubsub.editor) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות למחיקה ולניהול של עדכוני סכימה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי למחוק ולנהל גרסאות של סכימות, נדרשות ההרשאות הבאות:
-
יצירת סכימה:
pubsub.schemas.create -
צירוף סכימה לנושא:
pubsub.schemas.attach -
ביצוע Commit של גרסת סכימה:
pubsub.schemas.commit -
מחיקת סכימה או עדכון של סכימה:
pubsub.schemas.delete -
קבלת סכימה או עדכונים לסכימה:
pubsub.schemas.get -
רשימת סכימות:
pubsub.schemas.list -
רשימת שינויים בסכימה:
pubsub.schemas.listRevisions -
החזרה של סכימה למצב קודם:
pubsub.schemas.rollback -
כדי לאמת הודעה:
pubsub.schemas.validate -
קבלת מדיניות IAM עבור סכימה:
pubsub.schemas.getIamPolicy -
מגדירים את מדיניות IAM לסכימה:
pubsub.schemas.setIamPolicy
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
אתם יכולים להעניק תפקידים והרשאות לחשבונות ראשיים כמו משתמשים, קבוצות, דומיינים או חשבונות שירות. אפשר ליצור סכימה בפרויקט אחד ולצרף אותה לנושא שנמצא בפרויקט אחר. מוודאים שיש לכם את ההרשאות הנדרשות לכל פרויקט.
מחיקת גרסה של סכימה
ריכזנו כאן כמה הנחיות חשובות למחיקת גרסה של סכימה:
אפשר למחוק סכימה אחת או כמה סכימות מתוך סכימה.
אם בסכימה יש רק גרסה אחת, אי אפשר למחוק את הגרסה. במקום זאת, צריך למחוק את הסכימה.
פעולת המחיקה של סכימה מוחקת גם את כל הגרסאות שמשויכות לסכימה.
אם מוחקים סכימה, פרסום הודעות בנושאים שמשויכים לסכימה הזו נכשל.
אם מוחקים תיקון של סכימה, והוא מוגדר כתיקון הראשון בנושא, התיקון הבא ישמש במקומו לאימות.
אם הגרסה שנמחקה של הסכימה מצוינת כגרסה האחרונה של נושא, המערכת משתמשת בגרסה הקודמת של הסכימה לצורך אימות.
אם הגרסה שנמחקה של הסכימה נמצאת בטווח הגרסאות שצוין לאימות של נושא, המערכת מדלגת על הגרסה.
אפשר למחוק שינוי בסכימה באמצעותGoogle Cloud המסוף, ה-CLI של gcloud, Pub/Sub API או ספריות הלקוח ב-Cloud.
המסוף
נכנסים לדף Pub/Sub schemas במסוף Google Cloud .
לוחצים על השם של סכימה קיימת.
ייפתח הדף Schema details של הסכימה.
בוחרים את הגרסה שרוצים למחוק. אפשר גם לבחור כמה גרסאות.
לוחצים על מחיקת שינוי.
מאשרים את פעולת המחיקה.
gcloud
gcloud pubsub schemas delete-revision SCHEMA_NAME@REVISION_ID
כאשר:
- REVISION_ID היא הגרסה שאליה רוצים לחזור.
REST
כדי למחוק גרסה של סכימה, שולחים בקשת DELETE כמו הבקשה הבאה:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID@REVISION_ID:deleteRevision Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
גוף התגובה צריך להכיל ייצוג JSON של משאב הסכימה שנמחק.
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה בנושא Pub/Sub C++ API.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של ה-API של Pub/Sub Java.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במאמר תחילת העבודה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub Python API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר תחילת העבודה: שימוש בספריות לקוח. מידע נוסף זמין במאמר Pub/Sub Node.js API reference documentation.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במאמר תחילת העבודה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Node.js API.