Kompatibilitätstyp aktualisieren

Wenn Sie eine neue Schemaversion erstellen, prüft die Schema-Registry, ob die neue Version mit früheren Versionen kompatibel ist. Durch die Erzwingung der Schemakompatibilität wird sichergestellt, dass Datenproduzenten und -konsumenten weiterhin korrekt funktionieren, 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 Kompatibilitätstyp für eine Schema-Registry standardmäßig Backward.

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

  • Konfigurationen auf Subjektebene überschreiben die auf Schema-Registry-Ebene.

  • Die Aktualisierung des Kompatibilitätstyps wirkt sich nur auf neue Schemaversionen aus, die nach der Aktualisierung registriert wurden.

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, damit Sie die Berechtigungen erhalten, die Sie zum Aktualisieren des Kompatibilitätstyps für eine Schema-Registry oder ein Subjekt 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, die erforderlich sind:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Aktualisieren des Kompatibilitätstyps für eine Schema-Registry oder ein Subjekt erforderlich:

  • 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 Schema-Registries Seite auf.

    Zu Schema-Registries

    Eine Liste der Schema-Registries 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 Schema-Registry wird geöffnet.

  3. Suchen Sie im Hauptbereich mit den Details zur Registry die 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 gcloud alpha managed-kafka schema-registries update Befehl, 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 Schema-Registry.
  • LOCATION: die Region der Schema-Registry.
  • 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 test-registry Schema-Registry in der Region us-central1 auf FORWARD.

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

REST

Senden Sie eine PUT-Anfrage an die REST API, um den Kompatibilitätstyp für eine Schema-Registry zu aktualisieren.

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: Ihre Google Cloud-Projekt-ID.
  • LOCATION: die Region, in der sich die Schema-Registry befindet.
  • SCHEMA_REGISTRY_ID: die ID der Schema-Registry.

Fügen Sie den folgenden JSON-Code 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 Subjekt:

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

    Zu Schema-Registries

  2. Klicken Sie auf den Namen der Schema-Registry, die das Subjekt enthält.

    Die Seite Details zur Schema-Registry wird geöffnet.

  3. Klicken Sie in der Tabelle Subjekte in dieser Schema-Registry auf den Namen des Subjekts.
  4. Suchen Sie die Einstellung Kompatibilitätstyp für das Subjekt 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 Subjekt überschrieben.
  6. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den gcloud alpha managed-kafka schema-registries subject update Befehl, um den Kompatibilitätstyp für ein Subjekt 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 Subjekts.
  • SCHEMA_REGISTRY_ID: die ID der Schema-Registry, die das Subjekt enthält.
  • LOCATION: die Region der Schema-Registry.
  • 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

Senden Sie eine PUT-Anfrage an die REST API, um den Kompatibilitätstyp für ein Subjekt zu aktualisieren.

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

Kompatibilität für ein Subjekt in einem bestimmten Kontext aktualisieren:

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: Ihre Google Cloud-Projekt-ID.
  • LOCATION: die Region, in der sich die Schema-Registry befindet.
  • SCHEMA_REGISTRY_ID: die ID der Schema-Registry.
  • SUBJECT_ID: die ID des Subjekts.
  • CONTEXT_ID: die ID des Kontexts (falls zutreffend).

Fügen Sie den folgenden JSON-Code in den Anfragetext ein:

{
  "compatibility": "COMPATIBILITY_TYPE"
}

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

Beispiel:Legen Sie die Kompatibilität des Subjekts user_events auf FORWARD_TRANSITIVE fest.

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.