במאמר הזה מוסבר איך לבטל שינוי בסכימה של נושא Pub/Sub.
פעולת החזרה מאפשרת ליצור עוד גרסה של הסכימה עם אותה הגדרת סכימה כמו בגרסה הקודמת שצוינה.
לפני שמתחילים
- הסבר על סכימות של Pub/Sub.
- יוצרים סכימה.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות לביטול שינויים בסכימות ולניהול שלהן, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד עריכה ב-Pub/Sub (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 של הסכימה.
לוחצים על החזרה לגרסה קודמת.
תיבת הדו-שיח החזרת סכימה נפתחת.
בוחרים את הגרסה שאליה רוצים לחזור בסכימה.
לוחצים על אישור כדי לשמור את פעולת החזרה לגרסה הקודמת.
נוצרת גרסה חדשה עם הסכימה שצוינה בפעולת החזרה.
בדף פרטי הסכימה, בוחרים את הגרסה האחרונה של הסכימה ואת הגרסה שבחרתם כמקור לפעולת החזרה.
לוחצים על הצגת ההבדלים.
אפשר לוודא ששתי הסכימות זהות.
כדי לאמת נושא, אפשר להשתמש בשינוי הסכימה שיצרתם כשינוי האחרון על ידי עדכון השדה Last revision allowed.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
כאשר:
- REVISION_ID היא הגרסה שאליה רוצים לחזור.
REST
כדי לבטל שינוי בסכימה, שולחים בקשת POST כמו הבקשה הבאה:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
מציינים את השדות הבאים בגוף הבקשה:
{ "revisionId": REVISION_KD }
כאשר:
- REVISION_KD הוא המזהה של הגרסה שאליה רוצים לחזור.
גוף התגובה צריך להכיל ייצוג JSON של משאב סכימה.
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה בנושא Pub/Sub C++ API.
המשך
בדוגמה הבאה נעשה שימוש בגרסה הראשית של ספריית הלקוח Go Pub/Sub (v2). אם אתם עדיין משתמשים בספרייה v1, כדאי לעיין במדריך להעברה לגרסה v2. כדי לראות רשימה של דוגמאות קוד מגרסה 1, אפשר לעיין ב דוגמאות הקוד שהוצאו משימוש.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במאמר מדריך למתחילים: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Go API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר תחילת העבודה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
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 reference documentation.