Schemamodus aktualisieren

Der Schemamodus definiert, ob in einer Schema-Registry oder einem bestimmten Subjekt Änderungen wie das Schreiben oder Bearbeiten von Schemas zulässig sind.

  • Die unterstützten Werte für den Schemamodus sind Readonly und Readwrite.

  • Der Schemamodus wird als JSON-Objekt mit Schlüssel/Wert-Paaren verwaltet. Hier ein Beispiel:

    {
      "mode": "READWRITE"
    }
    
  • Wenn der Schemamodus nicht explizit auf der Ebene der Schemaregistrierung festgelegt ist, wird standardmäßig Readwrite verwendet.

  • Wenn auf der Ebene des Themas kein Schemamodus explizit angegeben ist, wird der Wert aus der Schema-Registry übernommen.

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

Weitere Informationen zum Schemamodus und seinen Werten finden Sie unter Schemamodus.

Erforderliche Rollen und Berechtigungen zum Aktualisieren des Schemamodus

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 Schemamodus 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 Schemamodus für eine Schemaregistrierung oder ein Thema erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um den Schemamodus für eine Schemaregistrierung oder ein Thema zu aktualisieren:

  • Erteilen Sie die folgende Berechtigung für die Ressource, für die Sie den Modus aktualisieren möchten: managedkafka.mode.update

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

Weitere Informationen zu den vordefinierten Rollen, die für Managed Service for Apache Kafka verfügbar sind, finden Sie in der Dokumentation zur Zugriffssteuerung.

Schemamodus für eine Schema-Registry aktualisieren

Console

So aktualisieren Sie den Schemamodus für die gesamte Schemaregistrierung:

  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 Schemaregistrierung, für die Sie den Schemamodus 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 Schema mode (Schemamodus) und klicken Sie daneben auf das Symbol Edit (Bearbeiten).

    Die Seite Schema bearbeiten wird geöffnet.

  4. Wählen Sie im Drop-down-Menü Schemamodus den Wert aus.

    Weitere Informationen zu diesen Werten finden Sie unter Schemamodus.

  5. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud alpha managed-kafka schema-registries update, um den Schemamodus für eine Schemaregistrierung zu aktualisieren:

gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • SCHEMA_REGISTRY_ID: Die ID der zu aktualisierenden Schemaregistry.
  • LOCATION: die Region der Schemaregistrierung, die aktualisiert werden soll.
  • MODE_TYPE: Der neue Schemamodus. Gültige Werte sind:
    • READWRITE
    • READONLY

Beispiel:

Führen Sie den folgenden Befehl aus, um den Schemamodus der test-registry-Schemaregistrierung in der Region us-central1 auf READONLY zu aktualisieren:

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

REST

Die Anfrage muss mit einem Zugriffstoken im Header Authorization authentifiziert werden. So rufen Sie ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen ab: gcloud auth application-default print-access-token.

Wenn Sie den Schemamodus aktualisieren möchten, senden Sie eine PUT-Anfrage an den REST API-Endpunkt für die Schemaregistrierung mit der Methode projects.locations.schemaRegistries.contexts.mode.update.

Schemamodus für die Schema-Registry mit einem Standardkontext aktualisieren:

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

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 eindeutige ID der Schemaregistrierung.

Anfragetext:

Fügen Sie dem Anfragetext ein JSON-Objekt hinzu, in dem die Modusdetails angegeben sind.

{
  "mode": "MODE_TYPE"
}

Ersetzen Sie MODE_TYPE durch eine der gültigen String-Optionen für den Modus:

  • READWRITE
  • READONLY

Bei Erfolg gibt die API den Statuscode 200 OK und einen Antworttext mit der JSON-Darstellung der aktualisierten Moduskonfiguration zurück.

Weitere Informationen finden Sie in der REST API-Dokumentation.

Schemamodus für ein Subjekt aktualisieren

Console

So aktualisieren Sie den Schemamodus 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, für das Sie den Schemamodus aktualisieren möchten.
  4. Suchen Sie die Einstellung Schema mode (Schemamodus) für das Thema und klicken Sie daneben auf das Symbol Bearbeiten.

    Die Seite Schema bearbeiten wird geöffnet.

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

    Weitere Informationen zu diesen Werten finden Sie unter Schemamodus.

  6. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud alpha managed-kafka schema-registries subject update, um den Schemamodus für ein Fach zu aktualisieren:

gcloud alpha managed-kafka schema-registries subject update SUBJECT_NAME \
    --schema-registry=SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • SUBJECT_NAME: der Name des zu aktualisierenden Themas.
  • SCHEMA_REGISTRY_ID: die ID der Schemaregistrierung, die das Thema enthält.
  • LOCATION: die Region der Schemaregistrierung, die das Thema enthält.
  • MODE_TYPE: Der neue Schemamodus. Gültige Werte sind:
    • READWRITE
    • READONLY

Beispiel:

Führen Sie den folgenden Befehl aus, um den Schemamodus des Themas test-subject in der Schemaregistry test-registry in der Region us-central1 auf READONLY zu aktualisieren:

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

REST

Die Anfrage muss mit einem Zugriffstoken im Header Authorization authentifiziert werden. So rufen Sie ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen ab: gcloud auth application-default print-access-token.

Wenn Sie den Schemamodus für ein Thema aktualisieren möchten, senden Sie eine PUT-Anfrage an den REST API-Endpunkt für ein bestimmtes Thema mit der Methode projects.locations.schemaRegistries.contexts.mode.update.

Schemamodus für ein Subjekt im Standardkontext aktualisieren:

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

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 eindeutige ID der Schemaregistrierung.
  • SUBJECT_NAME: der Name des Subjekts.

Anfragetext:

Fügen Sie dem Anfragetext ein JSON-Objekt hinzu, in dem die Modusdetails angegeben sind.

{
  "mode": "MODE_TYPE"
}

Ersetzen Sie MODE_TYPE durch eine der gültigen String-Optionen für den Modus:

  • READWRITE
  • READONLY

Beispiel: Schemamodus für das Subjekt user_events im Standardkontext auf Readonly festlegen:

Anfrage an PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/mode/user_events

Mit Text:

{
  "mode": "READONLY"
}

Bei Erfolg gibt die API den Statuscode 200 OK und einen Antworttext zurück, der die JSON-Darstellung der aktualisierten Subjekt- oder Kontextressource enthält, die diese Änderung widerspiegelt.

So aktualisieren Sie den Schemamodus 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_NAME/mode/SUBJECT_NAME

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 eindeutige ID der Schemaregistrierung.
  • CONTEXT_NAME: der Name des Kontexts.
  • SUBJECT_NAME: der Name des Subjekts.

Anfragetext:

Fügen Sie dem Anfragetext ein JSON-Objekt hinzu, in dem die Modusdetails angegeben sind.

{
  "mode": "MODE_TYPE"
}

Ersetzen Sie MODE_TYPE durch eine der gültigen String-Optionen für den Modus:

  • READWRITE
  • READONLY

Beispiel: Schemamodus für das Subjekt user_events im Kontext test_context auf Readonly festlegen:

Anfrage an PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/contexts/test_context/mode/user_events

Mit Text:

{
  "mode": "READONLY"
}

Bei Erfolg gibt die API den Statuscode 200 OK und einen Antworttext zurück, der die JSON-Darstellung der aktualisierten Subjekt- oder Kontextressource enthält, die diese Änderung widerspiegelt.

Weitere Informationen finden Sie in der REST API-Dokumentation.

Nächste Schritte

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