מחיקת גרסה של נושא סכימה

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

  • מחיקה זמנית. הגרסה מסומנת כמחוקה, אבל המידע שלה נשמר ואפשר לשחזר אותה.

  • מחיקה סופית. הגרסה והנתונים שמשויכים אליה יימחקו באופן סופי.

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

כדי לקבל את ההרשאות שנדרשות למחיקת גרסה של נושא סכימה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Managed Kafka Schema Registry Editor ‏ (roles/managedkafka.schemaRegistryEditor) בנושא האב. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

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

כדי למחוק גרסה של נושא סכימה, נדרשות ההרשאות הבאות:

  • נותנים את ההרשאה הבאה בנושא ההורה: managedkafka.googleapis.com/subjectVersions.delete

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

מחיקה רכה של גרסה של נושא סכימה

ריכזנו כאן כמה שיטות מומלצות למחיקה רכה של גרסה של נושא סכימה:

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

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

  • מחיקה רכה מאפשרת לשחזר גרסאות של נושאים בסכימה שנמחקו, וזה שימושי אם אתם לא בטוחים לגבי מחיקה של גרסה של נושא בסכימה.

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

המסוף

  1. נכנסים לדף Schema registries במסוף Google Cloud .

    כניסה לדף Schema registries

  2. לוחצים על השם של מאגר הסכימות שבו נמצא הנושא.

  3. בקטע Subjects in this schema registry (נושאים במאגר הסכימות הזה), לוחצים על שם הנושא.

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

  5. לוחצים על מחיקת גרסה.

  6. בחלון מחיקת גרסת סכימה, לוחצים על מחיקה רכה.

  7. כדי לאשר את המחיקה, מקלידים delete ולוחצים על מחיקה.

REST

כדי לבצע מחיקה רכה של גרסה של נושא סכימה, שולחים בקשת DELETE ל-method‏ projects.locations.schemaRegistries.subjects.versions.delete.

הבקשה צריכה להיות מאומתת באמצעות אסימון גישה בכותרת Authorization. כדי לקבל אסימון גישה לפרטי ברירת המחדל הנוכחיים של האפליקציה, מריצים את הפקודה הבאה: gcloud auth application-default print-access-token.

כדי לבצע מחיקה רכה של גרסת הנושא של הסכימה:

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

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    
  • משתמשים בפקודה הבאה להקשר ספציפי:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID
    Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
    

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud . לדוגמה: test-project.
  • ‫LOCATION: האזור שבו נמצא Google Cloud מאגר הסכימות, לדוגמה, us-central1.
  • ‫REGISTRY_ID: המזהה של מאגר הסכימות, לדוגמה, test_registry.
  • ‫CONTEXT_ID: מזהה ההקשר, לדוגמה: test_context.
  • ‫SUBJECT_ID: מזהה הנושא, לדוגמה: test_subject.
  • ‫VERSION_ID: הגרסה של הנושא שרוצים למחוק, לדוגמה, 2 או latest.
  • ‫SERVICE_ACCOUNT: חשבון השירות, לדוגמה, test-service-account@test-project.iam.gserviceaccount.com.

אם הבקשה מצליחה, ה-API מחזיר קוד סטטוס 200 OK וגוף תגובה ריק.

מידע נוסף מופיע במסמכי התיעוד של השיטה projects.locations.schemaRegistries.subjects.versions.delete.

מחיקה סופית של גרסה של נושא סכימה

ריכזנו כאן כמה שיטות מומלצות למחיקה סופית של גרסה של נושא סכימה:

  • חשוב לוודא שיש לכם גיבוי או דרך ליצור מחדש את הגרסה של נושא הסכימה אם צריך.

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

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

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

  • משתמשים במחיקה סופית כשצריך להסיר באופן סופי גרסה של נושא סכימה.

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

המסוף

  1. נכנסים לדף Schema registries במסוף Google Cloud .

    כניסה לדף Schema registries

  2. לוחצים על השם של מאגר הסכימות שבו נמצא הנושא.

  3. בקטע Subjects in this schema registry (נושאים במאגר הסכימות הזה), לוחצים על שם הנושא.

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

  5. לוחצים על מחיקת גרסה.

  6. בחלון מחיקת גרסת סכימה, לוחצים על מחיקה סופית.

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

REST

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

כדי למחוק גרסה של נושא סכימה באופן סופי, שולחים בקשת DELETE ל-method‏ projects.locations.schemaRegistries.subjects.versions.delete. כדי למחוק סופית את הגרסה של נושא הסכימה, צריך לכלול את פרמטר השאילתה hardDelete=true.

הבקשה צריכה להיות מאומתת באמצעות אסימון גישה בכותרת Authorization. כדי לקבל אסימון גישה לפרטי ברירת המחדל הנוכחיים של האפליקציה, מריצים את הפקודה הבאה: gcloud auth application-default print-access-token.

כדי למחוק סופית את גרסת הנושא של הסכימה:

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

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    
  • משתמשים בפקודה הבאה להקשר ספציפי:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true
    Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
    

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

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud , לדוגמה, test-project.
  • ‫LOCATION: האזור שבו נמצא Google Cloud מאגר הסכימות, לדוגמה, us-central1.
  • ‫REGISTRY_ID: המזהה של מאגר הסכימות, לדוגמה, test_registry.
  • ‫CONTEXT_ID: מזהה ההקשר, לדוגמה: test_context.
  • ‫SUBJECT_ID: מזהה הנושא, לדוגמה: test_subject.
  • ‫VERSION_ID: הגרסה של הנושא שרוצים למחוק, לדוגמה, 2 או latest.
  • ‫SERVICE_ACCOUNT: חשבון השירות, לדוגמה, test-service-account@test-project.iam.gserviceaccount.com.

אם הבקשה מצליחה, ה-API מחזיר קוד סטטוס 200 OK וגוף תגובה ריק.

מידע נוסף מופיע במסמכי התיעוד של השיטה projects.locations.schemaRegistries.subjects.versions.delete.

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

‫Apache Kafka®‎ הוא סימן מסחרי רשום של The Apache Software Foundation או של השותפים העצמאיים שלה בארצות הברית או במדינות אחרות.