Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 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.
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 et gérer les messages de schéma. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour valider et gérer les messages de schéma :
Créer un schéma :
pubsub.schemas.create
Associez le schéma au thème :
pubsub.schemas.attach
Valider une révision de 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
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
Validez 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 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
Dans la console Google Cloud , accédez à la page Schémas Pub/Sub.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["This document shows you how to validate schemas for Pub/Sub topics.\n\nYou can validate that messages adhere to a certain schema,\nbefore or after you create a schema resource. This step ensures that\nthe messages you intend to send through a topic associated with a\nschema actually match before applying the schema.\n\nBefore you begin\n\n- Understand how [Pub/Sub schemas work](/pubsub/docs/schemas).\n- [Create a schema](/pubsub/docs/create-schemas).\n\nRequired roles and permissions\n\n\nTo get the permissions that\nyou need to validate schema messages and manage them,\n\nask your administrator to grant you the\n\n\n[Pub/Sub Editor](/iam/docs/roles-permissions/pubsub#pubsub.editor) (`roles/pubsub.editor`)\nIAM role on your project.\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nThis predefined role contains\n\nthe permissions required to validate schema messages and manage them. To see the exact permissions that are\nrequired, expand the **Required permissions** section:\n\n\nRequired permissions\n\nThe following permissions are required to validate schema messages and manage them:\n\n- Create schema: ` ``pubsub.schemas.create`\n- Attach schema to topic: ` ``pubsub.schemas.attach`\n- Commit a schema revision: ` ``pubsub.schemas.commit`\n- Delete a schema or a schema revision: ` ``pubsub.schemas.delete`\n- Get a schema or schema revisions: ` ``pubsub.schemas.get`\n- List schemas: ` ``pubsub.schemas.list`\n- List schema revisions: ` ``pubsub.schemas.listRevisions`\n- Rollback a schema: ` ``pubsub.schemas.rollback`\n- Validate a message: ` ``pubsub.schemas.validate`\n- Get the IAM policy for a schema: ` ``pubsub.schemas.getIamPolicy`\n- Configure the [IAM policy](/iam/docs/reference/rest/v1/Policy) for a schema: ` ``pubsub.schemas.setIamPolicy`\n\n\nYou might also be able to get\nthese permissions\nwith [custom roles](/iam/docs/creating-custom-roles) or\nother [predefined roles](/iam/docs/roles-overview#predefined).\n\nYou can grant roles and permissions to principals such as users, groups,\ndomains, or service accounts. You can create a schema in one project and\nattach it to a topic located in a different project.\nEnsure that you have the required permissions for\neach project.\n\nValidate a message for a schema \n\nConsole\n\n1. In the Google Cloud console, go to the **Pub/Sub schemas** page.\n\n [Go to Schemas](https://console.cloud.google.com/cloudpubsub/schema)\n\n The list of schemas is displayed.\n2. Click the **Schema ID** of an existing schema.\n\n The **Schema details** page for the schema opens.\n3. In the **Revisions** section, click the revision for which you want to\n validate a message.\n\n4. In the **Details** section, click **Test message**.\n\n5. In the **Test message** window, select a type of **Message encoding**.\n\n6. In the **Message** body, enter a test message.\n\n7. Click **Test**.\n\ngcloud\n\n\n1. In the Google Cloud console, activate Cloud Shell.\n\n [Activate Cloud Shell](https://console.cloud.google.com/?cloudshell=true)\n\n\n At the bottom of the Google Cloud console, a\n [Cloud Shell](/shell/docs/how-cloud-shell-works)\n session starts and displays a command-line prompt. Cloud Shell is a shell environment\n with the Google Cloud CLI\n already installed and with values already set for\n your current project. It can take a few seconds for the session to initialize.\n2. To validate a message against a schema use the [gcloud pubsub schemas validate-message](/sdk/gcloud/reference/pubsub/schemas/validate-message) command.\n\n \u003cbr /\u003e\n\n ```\n gcloud pubsub schemas validate-message --message=MESSAGE \\\n --message-encoding=MESSAGE_ENCODING \\\n (--schema-name=SCHEMA_NAME | \\\n --type=TYPE \\\n (--definition=DEFINITION | \\\n --definition-file=DEFINITION_FILE))\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eMESSAGE\u003c/var\u003e: message to validate against the schema\n\n - \u003cvar translate=\"no\"\u003eMESSAGE_ENCODING\u003c/var\u003e: encoding of the message. Specify\n one of the following values: `binary` or `json`.\n\n - \u003cvar translate=\"no\"\u003eSCHEMA_NAME\u003c/var\u003e: name or full path of an existing schema.\n\n - \u003cvar translate=\"no\"\u003eTYPE\u003c/var\u003e: type of inline schema. Specify one of the\n following values: `avro`or `protocol-buffer`.\n\n - \u003cvar translate=\"no\"\u003eDEFINITION\u003c/var\u003e: inline schema definition.\n\n - \u003cvar translate=\"no\"\u003eDEFINITION_FILE\u003c/var\u003e: file containing the schema definition.\n\n\u003cbr /\u003e\n\nWhat's next\n\n- [Validate a schema definition when you create a topic](/pubsub/docs/create-schemas#create-schema)"]]