Kompatibilitätstyp aktualisieren

Wenn Sie eine neue Schemaversion erstellen, wird in der Schemaregistrierung geprüft, ob die neue Version mit den vorherigen Versionen kompatibel ist. Durch die Erzwingung der Schemakompatibilität wird sichergestellt, dass Datenproduzenten und ‑nutzer weiterhin korrekt arbeiten, wenn sich die Datenstruktur weiterentwickelt.

  • Die unterstützten Werte für den Kompatibilitätstyp sind Backward, Backward transitive, Forward, Forward transitive, Full, Full transitive oder None.

  • Der Kompatibilitätstyp wird als JSON-Objekt verwaltet. Beispiel:

    {
      "compatibility": "BACKWARD"
    }
    
  • Wenn nicht explizit festgelegt, ist der Standardkompatibilitätstyp für eine Schema-Registry Backward.

  • Wenn für ein Subjekt kein Kompatibilitätstyp festgelegt ist, wird der Wert aus der Schema-Registry übernommen.

  • Konfigurationen, die auf der Subjektebene festgelegt sind, überschreiben die auf der Schema-Registry-Ebene.

  • Das Aktualisieren des Kompatibilitätstyps wirkt sich nur auf neue Schemaversionen aus, die nach der Aktualisierung registriert werden.

Weitere Informationen zu den Kompatibilitätstypen finden Sie unter Kompatibilitätstyp.

Erforderliche Rollen und Berechtigungen zum Aktualisieren des Kompatibilitätstyps

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Managed Kafka Schema Registry Editor (roles/managedkafka.schemaRegistryEditor) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aktualisieren des Kompatibilitätstyps für eine Schemaregistrierung oder ein Thema benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Aktualisieren des Kompatibilitätstyps für eine Schema-Registry oder ein Subjekt erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um den Kompatibilitätstyp für eine Schema-Registry oder ein Subjekt zu aktualisieren:

  • Gewähren Sie die folgende Berechtigung für die Ressource, für die Sie den Kompatibilitätstyp aktualisieren möchten: managedkafka.config.update

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Kompatibilitätstyp für eine Schema-Registry aktualisieren

Console

So aktualisieren Sie den Kompatibilitätstyp für die gesamte Schema-Registry:

  1. Rufen Sie in der Google Cloud Console die Seite Schema-Registries auf.

    Zu Schemaregistrierungen

    Eine Liste der Schemaregistrierungen in Ihrem Projekt wird angezeigt.

  2. Klicken Sie auf den Namen der Schema-Registry, für die Sie den Kompatibilitätstyp aktualisieren möchten.

    Die Seite Details zur Schemaregistrierung wird geöffnet.

  3. Suchen Sie im Hauptbereich mit den Details für die Registrierung nach der Einstellung Kompatibilitätstyp und klicken Sie daneben auf das Symbol Bearbeiten.

    Die Seite Kompatibilitätstyp bearbeiten wird geöffnet.

  4. Wählen Sie im Drop-down-Menü Kompatibilitätstyp den Wert aus.
  5. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud alpha managed-kafka schema-registries update, um den Kompatibilitätstyp für eine Schema-Registry zu aktualisieren.

  gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID 
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
  • SCHEMA_REGISTRY_ID: Die ID der zu aktualisierenden Schemaregistry.
  • LOCATION: die Region der Schemaregistrierung.
  • COMPATIBILITY_TYPE: der neue Kompatibilitätstyp. Gültige Werte sind BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE oder NONE.

Beispiel: Aktualisieren Sie den Kompatibilitätstyp der Schema-Registry test-registry in der Region us-central1 auf FORWARD.

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

REST

Wenn Sie den Kompatibilitätstyp für eine Schema-Registry aktualisieren möchten, stellen Sie eine PUT-Anfrage an die REST API.

Rufen Sie zuerst ein Zugriffstoken ab:

gcloud auth application-default print-access-token

Senden Sie dann eine PUT-Anfrage an den Konfigurationsendpunkt der Registry:

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

Ersetzen Sie die folgenden Pfadparameter:

  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • LOCATION: die Region, in der sich die Schemaregistrierung befindet.
  • SCHEMA_REGISTRY_ID: die ID der Schemaregistrierung.

Fügen Sie das folgende JSON-Objekt in den Anfragetext ein:

{
  "compatibility": "COMPATIBILITY_TYPE"
}

Ersetzen Sie COMPATIBILITY_TYPE durch einen gültigen Wert wie NONE, BACKWARD, FORWARD oder FULL.

Bei Erfolg gibt die API den Statuscode 200 OK zurück.

Kompatibilitätstyp für ein Subjekt aktualisieren

Console

So aktualisieren Sie den Kompatibilitätstyp für ein bestimmtes Thema:

  1. Rufen Sie in der Google Cloud Console die Seite Schema-Registries auf.

    Zu Schemaregistrierungen

  2. Klicken Sie auf den Namen der Schemaregistry, die das Thema enthält.

    Die Seite Details zur Schemaregistrierung wird geöffnet.

  3. Klicken Sie in der Tabelle Subjekte in dieser Schema-Registry auf den Namen des Subjekts.
  4. Suchen Sie nach der Einstellung Kompatibilitätstyp für das Thema und klicken Sie daneben auf das Symbol Bearbeiten.

    Die Seite Kompatibilitätstyp bearbeiten wird geöffnet.

  5. Wählen Sie im Drop-down-Menü Kompatibilitätstyp den Wert aus. Wenn Sie hier einen Wert auswählen, wird die Einstellung auf Registry-Ebene für dieses Thema überschrieben.
  6. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud alpha managed-kafka schema-registries subject update, um den Kompatibilitätstyp für ein Thema zu aktualisieren.

  gcloud alpha managed-kafka schema-registries subject update SUBJECT_ID 
--schema-registry=SCHEMA_REGISTRY_ID
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
  • SUBJECT_ID: Die ID des zu aktualisierenden Themas.
  • SCHEMA_REGISTRY_ID: die ID der Schemaregistrierung, die das Thema enthält.
  • LOCATION: die Region der Schemaregistrierung.
  • COMPATIBILITY_TYPE: der neue Kompatibilitätstyp. Gültige Werte sind BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE oder NONE.

Beispiel: Aktualisieren Sie den Kompatibilitätstyp des Subjekts test-subject in der Schema-Registry test-registry in der Region us-central1 auf FORWARD_TRANSITIVE.

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

REST

Wenn Sie den Kompatibilitätstyp für ein Thema aktualisieren möchten, senden Sie eine PUT-Anfrage an die REST API.

Rufen Sie zuerst ein Zugriffstoken ab:

gcloud auth application-default print-access-token

Kompatibilität für ein Subjekt im Standardkontext aktualisieren:

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

So aktualisieren Sie die Kompatibilität für ein Thema in einem bestimmten Kontext:

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

Ersetzen Sie die folgenden Pfadparameter:

  • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
  • LOCATION: die Region, in der sich die Schemaregistrierung befindet.
  • SCHEMA_REGISTRY_ID: die ID der Schemaregistrierung.
  • SUBJECT_ID: Die ID des Subjekts.
  • CONTEXT_ID: Die ID des Kontexts (falls zutreffend).

Fügen Sie das folgende JSON-Objekt in den Anfragetext ein:

{
  "compatibility": "COMPATIBILITY_TYPE"
}

Ersetzen Sie COMPATIBILITY_TYPE durch einen gültigen Wert wie FORWARD_TRANSITIVE.

Beispiel:Setze die Kompatibilität des Themas user_events auf FORWARD_TRANSITIVE.

Anfrage an PUT https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/config/user_events

Mit Text:

{
  "compatibility": "FORWARD_TRANSITIVE"
}

Bei Erfolg gibt die API den Statuscode 200 OK zurück.

Nächste Schritte

Apache Kafka® ist eine eingetragene Marke der Apache Software Foundation oder deren Tochtergesellschaften in den USA und/oder anderen Ländern.