Ce document explique comment supprimer une version spécifique d'un sujet de schéma d'un registre de schémas. Il existe deux façons de supprimer une version d'un sujet :
Suppression réversible Marque la version comme supprimée, mais ses informations sont conservées et peuvent être récupérées.
Supprimer définitivement. Supprime définitivement la version et les données associées.
Rôles et autorisations nécessaires
Pour obtenir les autorisations nécessaires pour supprimer une version de sujet de schéma, demandez à votre administrateur de vous accorder le rôle IAM Éditeur du registre de schémas Kafka géré (roles/managedkafka.schemaRegistryEditor) sur le sujet parent.
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 une version de sujet de schéma. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour supprimer une version d'un sujet de schéma :
-
Accordez l'autorisation suivante au sujet parent :
managedkafka.googleapis.com/subjectVersions.delete
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
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 de manière réversible une version de sujet de schéma
Voici quelques bonnes pratiques à suivre pour supprimer provisoirement une version de sujet de schéma :
Vérifiez qu'aucun producteur ni consommateur actifs n'utilise la version du sujet de schéma que vous souhaitez supprimer.
Après avoir supprimé une version d'un sujet de schéma, surveillez vos applications pour vous assurer qu'elles continuent de fonctionner comme prévu.
La suppression réversible permet de récupérer les versions supprimées d'un sujet de schéma, ce qui est utile si vous n'êtes pas sûr de vouloir supprimer une version de sujet de schéma.
Pour supprimer temporairement une version de sujet de schéma, procédez comme suit.
Console
Dans la console Google Cloud , accédez à la page Registres de schémas.
Cliquez sur le nom du registre de schémas où se trouve votre sujet.
Sous Sujets dans ce registre de schémas, cliquez sur le nom du sujet.
Dans la liste Toutes les versions, recherchez la version que vous souhaitez supprimer, puis cliquez sur Autres actions.
Cliquez sur Supprimer la version.
Dans la fenêtre Supprimer la version du schéma, cliquez sur Suppression réversible.
Pour confirmer la suppression, saisissez
delete, puis cliquez sur Supprimer.
REST
Pour supprimer de façon réversible une version de sujet de schéma, envoyez une requête DELETE à la méthode projects.locations.schemaRegistries.subjects.versions.delete.
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 de façon réversible la version du sujet du schéma :
Utilisez la commande suivante pour le contexte par défaut :
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)Utilisez la commande suivante pour un contexte spécifique :
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)
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud , par exemple
test-project. - LOCATION : région Google Cloud où se trouve le registre de schémas, par exemple
us-central1. - REGISTRY_ID : ID de votre registre de schémas, par exemple
test_registry. - CONTEXT_ID : ID de votre contexte, par exemple
test_context. - SUBJECT_ID : ID du sujet, par exemple
test_subject. - VERSION_ID : version du sujet à supprimer (par exemple,
2oulatest). - SERVICE_ACCOUNT : compte de service, par exemple
test-service-account@test-project.iam.gserviceaccount.com.
Si la requête aboutit, l'API renvoie un code d'état 200 OK et un corps de réponse vide.
Pour en savoir plus, consultez la documentation sur la méthode projects.locations.schemaRegistries.subjects.versions.delete.
Supprimer définitivement une version d'un sujet de schéma
Voici quelques bonnes pratiques à suivre pour supprimer définitivement une version de sujet de schéma :
Assurez-vous de disposer d'une sauvegarde ou d'un moyen de recréer la version du sujet du schéma si nécessaire.
Vérifiez qu'aucun producteur ni consommateur actifs n'utilise la version du sujet de schéma que vous souhaitez supprimer.
Testez toujours la suppression des versions de sujet de schéma dans un environnement de développement ou de préproduction avant d'appliquer les modifications en production.
Après avoir supprimé une version d'un sujet de schéma, surveillez vos applications pour vous assurer qu'elles continuent de fonctionner comme prévu.
Utilisez la suppression définitive lorsque vous devez supprimer définitivement une version de sujet de schéma.
Pour supprimer définitivement une version de sujet de schéma, procédez comme suit.
Console
Dans la console Google Cloud , accédez à la page Registres de schémas.
Cliquez sur le nom du registre de schémas où se trouve votre sujet.
Sous Sujets dans ce registre de schémas, cliquez sur le nom du sujet.
Dans la liste Toutes les versions, recherchez la version que vous souhaitez supprimer, puis cliquez sur Autres actions.
Cliquez sur Supprimer la version.
Dans la fenêtre Supprimer la version du schéma, cliquez sur Supprimer définitivement.
Pour confirmer la suppression, saisissez
delete, puis cliquez sur Supprimer. Cette action supprime de façon réversible la version du sujet avant de la supprimer définitivement.
REST
Pour supprimer définitivement une version de sujet de schéma à l'aide de l'API REST, vous devez d'abord la supprimer de manière réversible. Une fois la suppression logicielle effectuée, vous pouvez procéder à la suppression définitive.
Pour supprimer définitivement une version de sujet de schéma, envoyez une requête DELETE à la méthode projects.locations.schemaRegistries.subjects.versions.delete. Pour supprimer définitivement la version du sujet du schéma, incluez le paramètre de requête hardDelete=true.
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 la version du sujet du schéma :
Utilisez la commande suivante pour le contexte par défaut :
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)Utilisez la commande suivante pour un contexte spécifique :
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)
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud , par exemple
test-project. - LOCATION : région Google Cloud où se trouve le registre de schémas, par exemple
us-central1. - REGISTRY_ID : ID de votre registre de schémas, par exemple
test_registry. - CONTEXT_ID : ID de votre contexte, par exemple
test_context. - SUBJECT_ID : ID du sujet, par exemple
test_subject. - VERSION_ID : version du sujet à supprimer (par exemple,
2oulatest). - SERVICE_ACCOUNT : compte de service, par exemple
test-service-account@test-project.iam.gserviceaccount.com.
Si la requête aboutit, l'API renvoie un code d'état 200 OK et un corps de réponse vide.
Pour en savoir plus, consultez la documentation sur la méthode projects.locations.schemaRegistries.subjects.versions.delete.
Étapes suivantes
- En savoir plus sur le registre de schémas
- Lister les versions d'un sujet
- Enregistrer une nouvelle version du schéma