Ce document explique comment valider des schémas pour les sujets Pub/Sub.
Vous pouvez vérifier que les messages respectent un certain schéma, avant ou après la création d'une ressource de schéma. Cette étape permet de s'assurer que les messages que vous souhaitez envoyer via un sujet associé à un schéma correspondent avant d'appliquer le schéma.
Avant de commencer
- Comprendre le fonctionnement des schémas Pub/Sub
- Créez un schéma.
Rôles et autorisations requis
Afin d'obtenir les autorisations nécessaires pour valider les messages de schéma et les gérer, demandez à votre administrateur de vous attribuer le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor
) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ce rôle prédéfini contient les autorisations requises pour valider les messages de schéma et les gérer. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour valider les messages de schéma et les gérer:
-
Créer le schéma :
pubsub.schemas.create
-
Associer le schéma au sujet :
pubsub.schemas.attach
-
Effectuez un commit d'une révision de schéma :
pubsub.schemas.commit
-
Supprimez un schéma ou une révision de schéma :
pubsub.schemas.delete
-
Obtenez un schéma ou des révisions de schéma :
pubsub.schemas.get
-
Répertorier les schémas :
pubsub.schemas.list
-
Répertorier les révisions de schéma :
pubsub.schemas.listRevisions
-
Effectuer le rollback d'un schéma :
pubsub.schemas.rollback
-
Validez un message :
pubsub.schemas.validate
-
Obtenez la stratégie IAM d'un schéma :
pubsub.schemas.getIamPolicy
-
Configurez 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 attribuer des rôles et des autorisations à des comptes 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.
Valider un message pour un schéma
Console
Dans la console Google Cloud, accédez à la page Schémas Pub/Sub.
La liste des schémas s'affiche.
Cliquez sur l'ID de schéma d'un schéma existant.
La page Informations sur le schéma s'ouvre.
Dans la section Révisions, cliquez sur la révision pour laquelle vous souhaitez valider un message.
Dans la section Détails, cliquez sur Message de test.
Dans la fenêtre Test message (Message de test), sélectionnez un type d'encodage des messages.
Dans le corps du message, saisissez un message de test.
Cliquez sur Test.
gcloud
-
Dans la console Google Cloud, activez Cloud Shell.
En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
- Pour valider un message par rapport à un schéma, utilisez la commande gcloud pubsub schemas validate-message.
gcloud pubsub schemas validate-message --message=MESSAGE \ --message-encoding=MESSAGE_ENCODING \ (--schema-name=SCHEMA_NAME | \ --type=TYPE \ (--definition=DEFINITION | \ --definition-file=DEFINITION_FILE))
Remplacez les éléments suivants :
MESSAGE: message à valider par rapport au schéma
MESSAGE_ENCODING: encodage du message Spécifiez l'une des valeurs suivantes:
binary
oujson
.SCHEMA_NAME: nom ou chemin d'accès complet d'un schéma existant.
TYPE: type de schéma intégré. Spécifiez l'une des valeurs suivantes:
avro
ouprotocol-buffer
.DEFINITION: définition de schéma intégrée.
DEFINITION_FILE: fichier contenant la définition du schéma.