Ce document vous explique comment effectuer un rollback d'un schéma pour un sujet Pub/Sub.
L'opération de rollback vous permet de créer une autre révision de schéma avec la définition exacte du schéma de la révision précédente spécifiée.
Avant de commencer
- Comprendre le fonctionnement des schémas Pub/Sub.
- Créer un schéma.
Rôles et autorisations requis
Pour obtenir les autorisations nécessaires pour effectuer un rollback des schémas et les gérer, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor) dans votre projet.
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 requises pour effectuer un rollback des schémas et les gérer. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour effectuer un rollback des schémas et les gérer :
-
Créer un schéma :
pubsub.schemas.create -
Associer un schéma à un sujet :
pubsub.schemas.attach -
Valider une révision de schéma :
pubsub.schemas.commit -
Supprimer un schéma ou une révision de schéma :
pubsub.schemas.delete -
Obtenir un schéma ou des révisions de schéma :
pubsub.schemas.get -
Lister les schémas :
pubsub.schemas.list -
Lister les révisions de schéma :
pubsub.schemas.listRevisions -
Effectuer un rollback d'un schéma :
pubsub.schemas.rollback -
Valider un message :
pubsub.schemas.validate -
Obtenir la stratégie IAM pour un schéma :
pubsub.schemas.getIamPolicy -
Configurer la stratégie IAM pour un schéma :
pubsub.schemas.setIamPolicy
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Vous pouvez accorder des rôles et des autorisations à des principaux tels que des utilisateurs, des groupes, des domaines ou des comptes de service. Vous pouvez créer un schéma dans un projet et l'associer à un sujet situé dans un autre projet. Assurez-vous de disposer des autorisations requises pour chaque projet.
Effectuer un rollback d'une révision de schéma
Vous pouvez effectuer un rollback d'un schéma à l'aide de la Cloud de Confiance console, de gcloud CLI, de l'API Pub/Sub, ou des bibliothèques clientes Cloud. Procédez comme suit :
Console
Dans la Cloud de Confiance console, accédez à la page Schémas Pub/Sub.
Cliquez sur le nom d'un schéma existant.
La page Détails du schéma s'ouvre.
Cliquez sur Restaurer.
La boîte de dialogue Effectuer un rollback du schéma s'ouvre.
Sélectionnez la révision vers laquelle vous souhaitez effectuer le rollback de votre schéma.
Cliquez sur Confirmer pour enregistrer l'opération de rollback.
Une nouvelle révision est créée avec le schéma spécifié dans l'opération de rollback.
Sur la page Détails du schéma, sélectionnez la dernière version du schéma et celle que vous avez sélectionnée comme source pour l'opération de rollback.
Cliquez sur Afficher les différences.
Vous pouvez vérifier que les deux schémas sont identiques.
Vous pouvez utiliser la révision de schéma que vous venez de créer comme dernière révision pour valider un sujet en mettant à jour le champ Dernière révision autorisée.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Où :
- REVISION_ID correspond à la révision vers laquelle vous souhaitez effectuer le rollback.
REST
Pour effectuer un rollback d'un schéma, envoyez une requête POST comme suit :
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Spécifiez les champs suivants dans le corps de la requête :
{ "revisionId": REVISION_KD }
Où :
- REVISION_KD correspond à l'ID de la révision vers laquelle effectuer le rollback.
Le corps de la réponse doit contenir une représentation JSON d'une ressource de schéma.
C++
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C++ qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub pour C++ .
Go
L'exemple suivant utilise la version majeure de la bibliothèque cliente Go Pub/Sub (v2). Si vous utilisez toujours la bibliothèque v1, consultez le guide de migration vers la version 2. Pour afficher la liste des exemples de code v1, consultez les exemples de code obsolètes.
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Go qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub pour Go.
Java
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Java qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub pour Java .
Python
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Python qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub pour Python.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub pour Node.js.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub pour Node.js.