Valider un message pour un schéma

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

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

  1. Dans la console Google Cloud, accédez à la page Schémas Pub/Sub.

    Accéder à la page Schémas

    La liste des schémas s'affiche.

  2. Cliquez sur l'ID de schéma d'un schéma existant.

    La page Informations sur le schéma s'ouvre.

  3. Dans la section Révisions, cliquez sur la révision pour laquelle vous souhaitez valider un message.

  4. Dans la section Détails, cliquez sur Message de test.

  5. Dans la fenêtre Test message (Message de test), sélectionnez un type d'encodage des messages.

  6. Dans le corps du message, saisissez un message de test.

  7. Cliquez sur Test.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer 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.

  2. 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 ou json.

    • 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 ou protocol-buffer.

    • DEFINITION: définition de schéma intégrée.

    • DEFINITION_FILE: fichier contenant la définition du schéma.

Étapes suivantes