Schema-Subjektversion löschen

In diesem Dokument wird beschrieben, wie Sie eine bestimmte Version eines Schemasubjekts aus einer Schemaregistrierung löschen. Es gibt zwei Möglichkeiten, eine Version eines Themas zu löschen:

  • Vorläufiges Löschen Die Version wird als gelöscht markiert, ihre Informationen werden jedoch beibehalten und können wiederhergestellt werden.

  • Endgültig löschen Entfernt die Version und die zugehörigen Daten dauerhaft.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Managed Kafka Schema Registry Editor (roles/managedkafka.schemaRegistryEditor) für das übergeordnete Thema zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Löschen einer Schemabetreffversion 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 Löschen einer Schemafachversion erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Löschen einer Schemafachversion erforderlich:

  • Erteilen Sie die folgende Berechtigung für das übergeordnete Thema: managedkafka.googleapis.com/subjectVersions.delete

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

Weitere Informationen zu vordefinierten Rollen finden Sie unter Vordefinierte Rollen für Managed Service for Apache Kafka.

Schema-Subjektversion vorläufig löschen

Hier sind einige Best Practices für das vorläufige Löschen einer Schema-Themenversion:

  • Prüfen Sie, ob aktive Producer oder Consumer die Schema-Subject-Version verwenden, die Sie löschen möchten.

  • Nachdem Sie eine Schema-Themenversion gelöscht haben, sollten Sie Ihre Anwendungen im Blick behalten, um sicherzustellen, dass sie weiterhin wie erwartet funktionieren.

  • Durch das vorläufige Löschen können gelöschte Versionen von Schemasubjekten wiederhergestellt werden. Das ist nützlich, wenn Sie sich nicht sicher sind, ob Sie eine Version eines Schemasubjekts löschen möchten.

So löschen Sie eine Schema-Themenversion vorläufig:

Console

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

    Zu Schemaregistrierungen

  2. Klicken Sie auf den Namen der Schemaregistry, in der sich Ihr Thema befindet.

  3. Klicken Sie unter Subjekte in dieser Schema-Registry auf den Namen des Subjekts.

  4. Suchen Sie in der Liste Alle Versionen die Version, die Sie löschen möchten, und klicken Sie auf Weitere Aktionen.

  5. Klicken Sie auf Version löschen.

  6. Klicken Sie im Fenster Schemaversion löschen auf Vorläufig löschen.

  7. Bestätigen Sie das Löschen, indem Sie delete eingeben, und klicken Sie dann auf Löschen.

REST

Wenn Sie eine Schema-Themenversion vorläufig löschen möchten, senden Sie eine DELETE-Anfrage an die Methode projects.locations.schemaRegistries.subjects.versions.delete.

Die Anfrage muss mit einem Zugriffstoken im Header Authorization authentifiziert werden. Führen Sie den folgenden Befehl aus, um ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen abzurufen: gcloud auth application-default print-access-token.

So löschen Sie die Schemasubjektversion vorläufig:

  • Verwenden Sie den folgenden Befehl für den Standardkontext:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    
  • Verwenden Sie den folgenden Befehl für einen bestimmten Kontext:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID
    Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID, z. B. test-project.
  • LOCATION: die Google Cloud Region, in der sich die Schemaregistrierung befindet, z. B. us-central1.
  • REGISTRY_ID: die ID Ihrer Schemaregistrierung, z. B. test_registry.
  • CONTEXT_ID: die ID Ihres Kontexts, z. B. test_context.
  • SUBJECT_ID: Die ID des Subjekts, z. B. test_subject.
  • VERSION_ID: Die Version des zu löschenden Subjekts, z. B. 2 oder latest.
  • SERVICE_ACCOUNT: das Dienstkonto, z. B. test-service-account@test-project.iam.gserviceaccount.com.

Wenn die Anfrage erfolgreich ist, gibt die API den Statuscode 200 OK und einen leeren Antworttext zurück.

Weitere Informationen finden Sie in der Dokumentation zur Methode projects.locations.schemaRegistries.subjects.versions.delete.

Schemasubjektversion endgültig löschen

Hier sind einige Best Practices zum endgültigen Löschen einer Schema-Themenversion:

  • Sorgen Sie dafür, dass Sie ein Backup haben oder die Schema-Subjektversion bei Bedarf neu erstellen können.

  • Prüfen Sie, ob aktive Producer oder Consumer die Schemasubjektversion verwenden, die Sie löschen möchten.

  • Testen Sie das Löschen von Schemafachversionen immer in einer Entwicklungs- oder Stagingumgebung, bevor Sie Änderungen in der Produktion vornehmen.

  • Nachdem Sie eine Schema-Themenversion gelöscht haben, sollten Sie Ihre Anwendungen im Blick behalten, um sicherzustellen, dass sie weiterhin wie erwartet funktionieren.

  • Verwenden Sie das endgültige Löschen, wenn Sie eine Schema-Subjektversion dauerhaft entfernen müssen.

So löschen Sie eine Schema-Themenversion endgültig:

Console

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

    Zu Schemaregistrierungen

  2. Klicken Sie auf den Namen der Schemaregistry, in der sich Ihr Thema befindet.

  3. Klicken Sie unter Subjekte in dieser Schema-Registry auf den Namen des Subjekts.

  4. Suchen Sie in der Liste Alle Versionen die Version, die Sie löschen möchten, und klicken Sie auf Weitere Aktionen.

  5. Klicken Sie auf Version löschen.

  6. Klicken Sie im Fenster Schemaversion löschen auf Endgültig löschen.

  7. Bestätigen Sie das Löschen, indem Sie delete eingeben, und klicken Sie dann auf Löschen. Durch diese Aktion wird die Subjektversion vorläufig gelöscht, bevor sie endgültig gelöscht wird.

REST

Wenn Sie eine Schema-Themenversion mit der REST API endgültig löschen möchten, müssen Sie sie zuerst vorläufig löschen. Nach dem vorläufigen Löschen können Sie mit dem endgültigen Löschen fortfahren.

Wenn Sie eine Schema-Themenversion endgültig löschen möchten, senden Sie eine DELETE-Anfrage an die Methode projects.locations.schemaRegistries.subjects.versions.delete. Wenn Sie die Schema-Themenversion endgültig löschen möchten, fügen Sie den Abfrageparameter hardDelete=true ein.

Die Anfrage muss mit einem Zugriffstoken im Header Authorization authentifiziert werden. Führen Sie den folgenden Befehl aus, um ein Zugriffstoken für die aktuellen Standardanmeldedaten für Anwendungen abzurufen: gcloud auth application-default print-access-token.

So löschen Sie die Schema-Subjektversion endgültig:

  • Verwenden Sie den folgenden Befehl für den Standardkontext:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    
  • Verwenden Sie den folgenden Befehl für einen bestimmten Kontext:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true
    Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID, z. B. test-project.
  • LOCATION: die Google Cloud Region, in der sich die Schemaregistrierung befindet, z. B. us-central1.
  • REGISTRY_ID: die ID Ihrer Schemaregistrierung, z. B. test_registry.
  • CONTEXT_ID: die ID Ihres Kontexts, z. B. test_context.
  • SUBJECT_ID: Die ID des Subjekts, z. B. test_subject.
  • VERSION_ID: Die Version des zu löschenden Subjekts, z. B. 2 oder latest.
  • SERVICE_ACCOUNT: das Dienstkonto, z. B. test-service-account@test-project.iam.gserviceaccount.com.

Wenn die Anfrage erfolgreich ist, gibt die API den Statuscode 200 OK und einen leeren Antworttext zurück.

Weitere Informationen finden Sie in der Dokumentation zur Methode projects.locations.schemaRegistries.subjects.versions.delete.

Nächste Schritte

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