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 schéma précis, 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 réellement avant d'appliquer le schéma.

Avant de commencer

Rôles et autorisations requis

Pour obtenir les autorisations nécessaires pour valider et gérer les messages de schéma, demandez à votre administrateur de vous accorder 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 page 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

Les autorisations suivantes sont requises pour valider les messages de schéma et les gérer:

  • Créez un schéma: pubsub.schemas.create
  • Associer le schéma au sujet : pubsub.schemas.attach
  • Effectuez un commit d'une révision du schéma: pubsub.schemas.commit
  • Supprimez 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
  • Schémas de liste : pubsub.schemas.list
  • Répertoriez les révisions de schéma: pubsub.schemas.listRevisions
  • Effectuez le rollback d'un schéma: pubsub.schemas.rollback
  • Pour valider un message: pubsub.schemas.validate
  • Obtenez la stratégie IAM pour 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 accorder 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 à "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 Message de test.

  5. Dans la fenêtre Message de test, 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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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. Préciser 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.

Étape suivante