עדכון סוג התאימות

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

  • הערכים הנתמכים של סוג התאימות הם Backward,‏ Backward transitive,‏ Forward,‏ Forward transitive,‏ Full,‏ Full transitive או None.

  • סוג התאימות מנוהל כאובייקט JSON. לדוגמה:

    {
      "compatibility": "BACKWARD"
    }
    
  • אם לא מגדירים במפורש, סוג התאימות של מאגר סכימות מוגדר כברירת מחדל לתאימות לדורות קודמים.

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

  • ההגדרות שנקבעו ברמת הנושא מבטלות את ההגדרות שנקבעו ברמת מאגר הסכימות.

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

מידע נוסף על סוגי התאימות זמין במאמר מידע על סוגי תאימות.

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

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

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

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

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

  • נותנים את ההרשאה הבאה למשאב שרוצים לעדכן את סוג התאימות שלו: managedkafka.config.update

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

עדכון סוג התאימות של מאגר סכימות

המסוף

כדי לעדכן את סוג התאימות לכל מאגר הסכימות, פועלים לפי השלבים הבאים:

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

    כניסה לדף Schema registries

    תוצג רשימה של מאגרי סכימות בפרויקט.

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

    נפתח הדף Schema registry details.

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

    ייפתח הדף עריכת סוג התאימות.

  4. בתפריט הנפתח סוג התאימות, בוחרים את הערך.
  5. לוחצים על Save.

gcloud

כדי לעדכן את סוג התאימות של מאגר סכימות, משתמשים בפקודה gcloud alpha managed-kafka schema-registries update.

  gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID 
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
  • ‫SCHEMA_REGISTRY_ID: המזהה של מאגר הסכימות שרוצים לעדכן.
  • ‫LOCATION: האזור של מאגר הסכימות.
  • ‫COMPATIBILITY_TYPE: סוג התאימות החדש. הערכים התקפים כוללים BACKWARD,‏ BACKWARD_TRANSITIVE,‏ FORWARD,‏ FORWARD_TRANSITIVE,‏ FULL,‏ FULL_TRANSITIVE או NONE.

דוגמה: צריך לעדכן את סוג התאימות של מאגר הסכימות test-registry באזור us-central1 ל-FORWARD.

  gcloud alpha managed-kafka schema-registries update test-registry 
--location=us-central1
--compatibility=FORWARD

REST

כדי לעדכן את סוג התאימות של מאגר סכימות, שולחים בקשת PUT ל-API בארכיטקטורת REST.

קודם כל, מקבלים טוקן גישה:

gcloud auth application-default print-access-token

לאחר מכן, שולחים בקשת PUT לנקודת הקצה של ההגדרות של המאגר:

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/config

מחליפים את פרמטרי הנתיב הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן של Google.
  • ‫LOCATION: האזור שבו נמצא מאגר הסכימות.
  • ‫SCHEMA_REGISTRY_ID: המזהה של מאגר הסכימות.

בגוף הבקשה, כוללים את אובייקט ה-JSON הבא:

{
  "compatibility": "COMPATIBILITY_TYPE"
}

מחליפים את COMPATIBILITY_TYPE בערך תקין, כמו NONE,‏ BACKWARD,‏ FORWARD או FULL.

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

עדכון סוג התאימות לנושא

המסוף

כדי לעדכן את סוג התאימות לנושא ספציפי:

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

    כניסה לדף Schema registries

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

    נפתח הדף Schema registry details.

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

    ייפתח הדף עריכת סוג התאימות.

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

gcloud

כדי לעדכן את סוג התאימות של נושא, משתמשים בפקודה gcloud alpha managed-kafka schema-registries subject update.

  gcloud alpha managed-kafka schema-registries subject update SUBJECT_ID 
--schema-registry=SCHEMA_REGISTRY_ID
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
  • ‫SUBJECT_ID: המזהה של הנושא שרוצים לעדכן.
  • ‫SCHEMA_REGISTRY_ID: המזהה של מאגר הסכימות שמכיל את הנושא.
  • ‫LOCATION: האזור של מאגר הסכימות.
  • ‫COMPATIBILITY_TYPE: סוג התאימות החדש. הערכים התקפים כוללים BACKWARD,‏ BACKWARD_TRANSITIVE,‏ FORWARD,‏ FORWARD_TRANSITIVE,‏ FULL,‏ FULL_TRANSITIVE או NONE.

דוגמה: צריך לעדכן את סוג התאימות של הנושא test-subject במאגר הסכימות test-registry באזור us-central1 לערך FORWARD_TRANSITIVE.

  gcloud alpha managed-kafka schema-registries subject update test-subject 
--schema-registry=test-registry
--location=us-central1
--compatibility=FORWARD_TRANSITIVE

REST

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

קודם כל, מקבלים טוקן גישה:

gcloud auth application-default print-access-token

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

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/config/SUBJECT_ID

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

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/contexts/CONTEXT_ID/config/SUBJECT_ID

מחליפים את פרמטרי הנתיב הבאים:

  • PROJECT_ID: מזהה הפרויקט בענן של Google.
  • ‫LOCATION: האזור שבו נמצא מאגר הסכימות.
  • ‫SCHEMA_REGISTRY_ID: המזהה של מאגר הסכימות.
  • ‫SUBJECT_ID: מזהה הנושא.
  • ‫CONTEXT_ID: מזהה ההקשר (אם רלוונטי).

בגוף הבקשה, כוללים את אובייקט ה-JSON הבא:

{
  "compatibility": "COMPATIBILITY_TYPE"
}

מחליפים את COMPATIBILITY_TYPE בערך תקין, כמו FORWARD_TRANSITIVE.

דוגמה: הגדרת התאימות של הנושא user_events ל-FORWARD_TRANSITIVE.

בקשה אל PUT https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/config/user_events

עם תוכן:

{
  "compatibility": "FORWARD_TRANSITIVE"
}

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

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

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