עדכון מצב הסכימה

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

  • הערכים הנתמכים של מצב הסכימה הם Readonly ו-Readwrite.

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

    {
      "mode": "READWRITE"
    }
    
  • אם לא מגדירים את מצב הסכימה במפורש ברמת מאגר הסכימות, ברירת המחדל של מצב הסכימה היא Readwrite.

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

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

מידע נוסף על מצב סכימה, כולל הערכים שלו, זמין במאמר בנושא מצב סכימה.

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

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

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

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

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

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

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

עדכון מצב הסכימה במרשם סכימות

המסוף

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

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

    כניסה לדף Schema registries

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

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

    נפתח הדף Schema registry details.

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

    ייפתח הדף Edit schema mode (עריכת מצב הסכימה).

  4. בתפריט הנפתח Schema mode (מצב סכימה), בוחרים את הערך.

    מידע נוסף על הערכים האלה זמין במאמר מידע על מצב סכימה.

  5. לוחצים על Save.

gcloud

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

gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • ‫SCHEMA_REGISTRY_ID: המזהה של מאגר הסכימות שרוצים לעדכן.
  • ‫LOCATION: האזור של מאגר הסכימות לעדכון.
  • ‫MODE_TYPE: מצב הסכימה החדש. הערכים התקינים הם:
    • READWRITE
    • READONLY

דוגמה:

כדי לעדכן את מצב הסכימה של מאגר הסכימות test-registry באזור us-central1 ל-READONLY, מריצים את הפקודה הבאה:

gcloud alpha managed-kafka schema-registries update test-registry \
    --location=us-central1 \
    --mode=READONLY

REST

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

כדי לעדכן את מצב הסכימה, שולחים בקשת PUT לנקודת קצה ל-API בארכיטקטורת REST עבור מאגר הסכימות באמצעות השיטה projects.locations.schemaRegistries.contexts.mode.update.

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

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

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

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

גוף הבקשה:

כוללים בגוף הבקשה אובייקט JSON שמציין את פרטי המצב.

{
  "mode": "MODE_TYPE"
}

מחליפים את MODE_TYPE באחת מאפשרויות המחרוזת התקפות למצב:

  • READWRITE
  • READONLY

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

מידע נוסף מופיע במאמרי העזרה של ה-API בארכיטקטורת REST.

עדכון מצב הסכימה של נושא

המסוף

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

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

    כניסה לדף Schema registries

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

    נפתח הדף Schema registry details.

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

    ייפתח הדף Edit schema mode (עריכת מצב הסכימה).

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

    מידע נוסף על הערכים האלה זמין במאמר מידע על מצב סכימה.

  6. לוחצים על Save.

gcloud

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

gcloud alpha managed-kafka schema-registries subject update SUBJECT_NAME \
    --schema-registry=SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • ‫SUBJECT_NAME: השם של הנושא שרוצים לעדכן.
  • ‫SCHEMA_REGISTRY_ID: המזהה של מאגר הסכימות שמכיל את הנושא.
  • ‫LOCATION: האזור של מאגר הסכימות שמכיל את הנושא.
  • ‫MODE_TYPE: מצב הסכימה החדש. הערכים התקינים הם:
    • READWRITE
    • READONLY

דוגמה:

כדי לעדכן את מצב הסכימה של הנושא test-subject במאגר הסכימות test-registry באזור us-central1 ל-READONLY, מריצים את הפקודה הבאה:

gcloud alpha managed-kafka schema-registries subject update test-subject \
    --schema-registry=test-registry \
    --location=us-central1 \
    --mode=READONLY

REST

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

כדי לעדכן את מצב הסכימה של נושא, שולחים בקשת PUT לנקודת קצה ל-API בארכיטקטורת REST עבור נושא ספציפי באמצעות ה-method ‏projects.locations.schemaRegistries.contexts.mode.update.

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

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

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

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

גוף הבקשה:

כוללים בגוף הבקשה אובייקט JSON שמציין את פרטי המצב.

{
  "mode": "MODE_TYPE"
}

מחליפים את MODE_TYPE באחת מאפשרויות המחרוזת התקפות למצב:

  • READWRITE
  • READONLY

דוגמה – הגדרת מצב הסכימה של הנושא user_events ל-Readonly בהקשר שמוגדר כברירת מחדל:

בקשה אל PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/mode/user_events

עם תוכן:

{
  "mode": "READONLY"
}

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

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

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/contexts/CONTEXT_NAME/mode/SUBJECT_NAME

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

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

גוף הבקשה:

כוללים בגוף הבקשה אובייקט JSON שמציין את פרטי המצב.

{
  "mode": "MODE_TYPE"
}

מחליפים את MODE_TYPE באחת מאפשרויות המחרוזת התקפות למצב:

  • READWRITE
  • READONLY

דוגמה – הגדרת מצב הסכימה של הנושא user_events לערך Readonly בהקשר test_context:

בקשה אל PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/contexts/test_context/mode/user_events

עם תוכן:

{
  "mode": "READONLY"
}

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

מידע נוסף מופיע במאמרי העזרה של ה-API בארכיטקטורת REST.

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

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