Supprimer un sujet

Ce document explique comment supprimer un sujet d'un registre de schémas. Il existe deux façons de supprimer un sujet :

  • Suppression réversible Marque l'objet comme supprimé, mais ses informations sont conservées et peuvent être récupérées. Toutes les versions du sujet sont également supprimées de façon réversible.

  • Supprimer définitivement. Supprime définitivement le sujet et les données associées.

Vous pouvez également supprimer une version de schéma spécifique d'un sujet. Pour en savoir plus, consultez Supprimer une version de sujet de schéma.

Rôles et autorisations nécessaires

Pour obtenir les autorisations nécessaires pour supprimer un sujet, demandez à votre administrateur de vous accorder le rôle IAM Éditeur du registre de schémas Kafka géré (roles/managedkafka.schemaRegistryEditor) sur votre sujet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations nécessaires pour supprimer un sujet. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour supprimer un sujet :

  • Accordez l'autorisation suivante sur le sujet à supprimer : managedkafka.subjects.delete
  • Si vous supprimez un sujet dans la console, accordez l'autorisation suivante pour l'afficher : managedkafka.subjects.list

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Le rôle Administrateur du registre de schémas Managed Kafka (roles/managedkafka.schemaRegistryAdmin) vous permet également de supprimer des sujets.

Pour en savoir plus sur les rôles prédéfinis, consultez la page Rôles prédéfinis de Managed Service pour Apache Kafka.

Supprimer un sujet de façon réversible

Assurez-vous que les conditions suivantes sont remplies :

  • Le sujet que vous allez supprimer n'est référencé par aucun autre schéma. Une demande de suppression échoue si une version de l'objet est référencée par d'autres schémas.

  • Le registre de schémas auquel appartient le sujet ou le sujet lui-même ne doivent pas être en mode Read-only.

Pour effectuer une suppression réversible d'un sujet, procédez comme suit.

Console

  1. Dans la console Google Cloud , accédez à la page Registres de schémas.

    Accéder aux registres de schémas

  2. Cliquez sur le nom du registre de schémas contenant le sujet à supprimer.

  3. Sous Sujets dans ce registre de schémas, cliquez sur le nom du sujet.

  4. Sur la page Détails du sujet, cliquez sur Supprimer.

  5. Sélectionnez Suppression réversible.

  6. Dans la boîte de dialogue Supprimer le sujet du schéma, saisissez delete dans le champ.

  7. Cliquez sur Supprimer. Cette action supprime de manière réversible le sujet avant de le supprimer définitivement.

REST

La demande doit être authentifiée à l'aide d'un jeton d'accès dans l'en-tête Authorization. Pour obtenir un jeton d'accès pour les identifiants par défaut actuels de l'application : gcloud auth application-default print-access-token.

Pour supprimer un sujet de manière réversible à l'aide de l'API REST, envoyez une requête DELETE à l'URI approprié à l'aide de la méthode projects.locations.schemaRegistries.contexts.subjects.delete.

DELETE https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID
Authorization: Bearer $(gcloud auth application-default print-access-token)

Pour supprimer un sujet de manière réversible dans un contexte spécifique à l'aide de l'API REST, envoyez une requête DELETE à l'URI approprié à l'aide de la méthode projects.locations.schemaRegistries.contexts.subjects.delete.

DELETE https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID
Authorization: Bearer $(gcloud auth application-default print-access-token)

Remplacez les éléments suivants :

  • PROJECT_ID (obligatoire) : ID de votre projet Google Cloud.
  • LOCATION (obligatoire) : Google Cloud région dans laquelle se trouve le registre de schémas.
  • REGISTRY_ID (obligatoire) : ID de votre registre de schémas.
  • CONTEXT_ID (facultatif) : ID ou nom du contexte, si vous supprimez un sujet dans un contexte spécifique.
  • SUBJECT_ID (facultatif) : ID ou nom du sujet que vous souhaitez supprimer.

Par exemple, pour supprimer de manière réversible orders-topic-value du registre de schémas test_registry dans le projet test-gcp-project et l'emplacement us-central1, envoyez la requête suivante :

DELETE https://managedkafka.googleapis.com/v1/projects/test-gcp-project/locations/us-central1/schemaRegistries/test_registry/subjects/orders-topic-value
Authorization: Bearer $(gcloud auth application-default print-access-token)

Si la requête aboutit, l'API renvoie un code d'état 200 OK. Le corps de la réponse contient un tableau JSON des numéros de version des schémas qui appartenaient au sujet supprimé.

Supprimer définitivement un sujet

La suppression définitive d'un sujet est irréversible et supprime également toutes les versions de schéma associées.

Assurez-vous que les conditions suivantes sont remplies :

  • Le sujet que vous allez supprimer n'est référencé par aucun autre schéma. Une demande de suppression échoue si une version du sujet est référencée par d'autres schémas.

  • Le registre de schémas auquel appartient le sujet ou le sujet lui-même ne doivent pas être en mode Read-only.

  • Sauvegardez toutes les informations de schéma nécessaires avant de procéder à la suppression.

  • Aucun producteur ni consommateur actif ne doit s'appuyer sur les schémas de ce sujet, car leur suppression peut entraîner des perturbations.

Console

  1. Dans la console Google Cloud , accédez à la page Registres de schémas.

    Accéder aux registres de schémas

  2. Cliquez sur le nom du registre de schémas contenant le sujet à supprimer.

  3. Sous Sujets dans ce registre de schémas, cliquez sur le nom du sujet.

  4. Sur la page Détails du sujet, cliquez sur Supprimer.

  5. Sélectionnez Supprimer définitivement.

  6. Dans la boîte de dialogue Supprimer le sujet du schéma, saisissez delete dans le champ.

  7. Cliquez sur Supprimer. Cette action supprime de manière réversible le sujet avant de le supprimer définitivement.

REST

Pour supprimer définitivement un sujet à l'aide de l'API REST, vous devez d'abord le supprimer de manière réversible. Une fois la suppression logicielle effectuée, vous pouvez procéder à la suppression définitive.

La demande doit être authentifiée à l'aide d'un jeton d'accès dans l'en-tête Authorization. Pour obtenir un jeton d'accès pour les identifiants par défaut actuels de l'application, exécutez la commande suivante : gcloud auth application-default print-access-token.

Pour supprimer définitivement un sujet à l'aide de l'API REST, envoyez une requête DELETE à l'URI approprié, en incluant le paramètre de requête permanent=true et en utilisant la méthode projects.locations.schemaRegistries.subjects.delete.

DELETE https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID?permanent=true
Authorization: Bearer $(gcloud auth application-default print-access-token)

Pour supprimer définitivement un sujet dans un contexte spécifique à l'aide de l'API REST, envoyez une requête DELETE à l'URI approprié, y compris le paramètre de requête permanent=true et en utilisant la méthode projects.locations.schemaRegistries.contexts.subjects.delete.

DELETE https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID?permanent=true
Authorization: Bearer $(gcloud auth application-default print-access-token)

Remplacez les éléments suivants :

  • PROJECT_ID (obligatoire) : ID de votre projet Google Cloud.
  • LOCATION (obligatoire) : Google Cloud région dans laquelle se trouve le registre de schémas.
  • REGISTRY_ID (obligatoire) : ID de votre registre de schémas.
  • CONTEXT_ID (facultatif) : ID du contexte, si vous supprimez un sujet dans un contexte spécifique.
  • SUBJECT_ID (facultatif) : ID ou nom du sujet que vous souhaitez supprimer.

Par exemple, pour supprimer définitivement le sujet orders-topic-value précédemment supprimé de façon réversible du registre de schémas test_registry dans le projet test-gcp-project et l'emplacement us-central1, envoyez la requête suivante :

DELETE https://managedkafka.googleapis.com/v1/projects/test-gcp-project/locations/us-central1/schemaRegistries/test_registry/subjects/orders-topic-value?permanent=true
Authorization: Bearer $(gcloud auth application-default print-access-token)

Si la requête aboutit, l'API renvoie un code d'état 200 OK. Le corps de la réponse contient un tableau JSON des numéros de version des schémas qui appartenaient au sujet supprimé.

Pour en savoir plus, consultez les sections sur projects.locations.schemaRegistries.contexts.subjects.delete

Restaurer un sujet supprimé de façon réversible

Pour restaurer un sujet supprimé de façon réversible, procédez comme suit.

Console

  1. Dans la console Google Cloud , accédez à la page Registres de schémas.

    Accéder aux registres de schémas

  2. Cliquez sur le nom du registre de schémas contenant le sujet supprimé de façon réversible.

  3. Pour Filtrer, cliquez sur Annuler pour effacer le filtre Supprimé de manière réversible : non.

  4. Cliquez sur le nom du sujet à restaurer.

  5. Sur la page Détails du sujet, cliquez sur Créer une version à restaurer.

  6. Pour Type de schéma, sélectionnez Avro ou Tampon de protocole.

  7. Dans le champ Définition du schéma, saisissez la définition du schéma. N'incluez pas d'informations sensibles telles que des informations permettant d'identifier personnellement l'utilisateur ou des données de sécurité dans les noms des champs de votre schéma.

  8. Si votre schéma utilise ou dépend de structures de données définies dans d'autres schémas du registre de schémas, procédez comme suit :

    1. Cliquez sur Ajouter une référence de schéma.
    2. Dans le champ Nom de référence, saisissez le nom de référence du schéma référencé.
    3. Dans la liste Sujet, sélectionnez le sujet contenant le schéma référencé.
    4. Dans la liste Version, sélectionnez le numéro de version du schéma référencé.
    5. Cliquez sur OK.

    Répétez ces étapes pour chaque schéma référencé.

  9. Cliquez sur Créer.

REST

Pour restaurer un sujet supprimé de façon réversible, utilisez la méthode schemaRegistries.subjects.versions.create.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud
  • LOCATION : emplacement du registre de schémas
  • REGISTRY_ID : ID du registre de schémas
  • SUBJECT : nom du sujet
  • SCHEMA_DEFINITION : chaîne contenant la définition du schéma

Méthode HTTP et URL :

POST https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT/versions

Corps JSON de la requête :

{
  "schema": "SCHEMA_DEFINITION"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "id": SCHEMA_ID
}

Étapes suivantes

Apache Kafka® est une marque déposée d'Apache Software Foundation ou de ses filiales aux États-Unis et/ou dans d'autres pays.