Valider un message pour un schéma

Ce document vous 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 vous assurer que les messages que vous souhaitez envoyer via un sujet associé à un schéma correspondent réellement avant d'appliquer le schéma.

Avant de commencer

Rôles et autorisations requis

Pour obtenir les autorisations nécessaires pour valider les messages de schéma 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 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

Vous devez disposer des autorisations suivantes pour valider les messages de schéma 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
  • Restaurer 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.

Valider un message pour un schéma

Console

  1. Dans la Google Cloud console, 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 Détails du 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 Tester le message.

  5. Dans la fenêtre Tester le message, sélectionnez un type d'encodage de message.

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

  7. Cliquez sur Test.

gcloud

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

    Activer Cloud Shell

    En bas de la fenêtre de la console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Google Cloud Cloud Shell est un environnement de 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 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.

Étape suivante