En este documento se explica cómo validar esquemas de temas de Pub/Sub.
Puedes validar que los mensajes se ajusten a un esquema determinado antes o después de crear un recurso de esquema. Con este paso, te aseguras de que los mensajes que quieres enviar a través de un tema asociado a un esquema coincidan antes de aplicar el esquema.
Antes de empezar
- Consulta cómo funcionan los esquemas de Pub/Sub.
- Crea un esquema.
Roles y permisos necesarios
    
      Para obtener los permisos que necesitas para validar mensajes de esquema y gestionarlos, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Editor de Pub/Sub  (roles/pubsub.editor) en tu proyecto.
  
  
  
  
  Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
  
  
Este rol predefinido contiene los permisos necesarios para validar mensajes de esquema y gestionarlos. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para validar mensajes de esquema y gestionarlos, se necesitan los siguientes permisos:
- 
                Crea un esquema:
                  pubsub.schemas.create
- 
                Adjuntar un esquema a un tema:
                  pubsub.schemas.attach
- 
                Confirmar una revisión del esquema:
                  pubsub.schemas.commit
- 
                Eliminar un esquema o una revisión de un esquema:
                  pubsub.schemas.delete
- 
                Obtener un esquema o revisiones de un esquema:
                  pubsub.schemas.get
- 
                Ver esquemas:
                  pubsub.schemas.list
- 
                Lista de revisiones del esquema:
                  pubsub.schemas.listRevisions
- 
                Restaurar una versión anterior de un esquema:
                  pubsub.schemas.rollback
- 
                Validar un mensaje:
                  pubsub.schemas.validate
- 
                Obtener la política de gestión de identidades y accesos de un esquema:
                  pubsub.schemas.getIamPolicy
- 
                Configura la política de gestión de identidades y accesos de un esquema:
                  pubsub.schemas.setIamPolicy
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Puedes conceder roles y permisos a entidades principales, como usuarios, grupos, dominios o cuentas de servicio. Puedes crear un esquema en un proyecto y adjuntarlo a un tema ubicado en otro proyecto. Asegúrate de que tienes los permisos necesarios para cada proyecto.
Validar un mensaje con un esquema
Consola
- En la Cloud de Confiance consola, ve a la página Esquemas de Pub/Sub. - Se muestra la lista de esquemas. 
- Haga clic en el ID de esquema de un esquema. - Se abrirá la página Detalles del esquema del esquema. 
- En la sección Revisiones, haga clic en la revisión para la que quiera validar un mensaje. 
- En la sección Detalles, haz clic en Mensaje de prueba. 
- En la ventana Mensaje de prueba, selecciona un tipo de Codificación de mensaje. 
- En el cuerpo del Mensaje, escribe un mensaje de prueba. 
- Haz clic en Test (Probar). 
gcloud
- 
    
    In the Cloud de Confiance console, activate Cloud Shell. At the bottom of the Cloud de Confiance 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. 
-  Para validar un mensaje con un esquema, usa el comando 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))Haz los cambios siguientes: - MESSAGE: mensaje que se va a validar con el esquema 
- MESSAGE_ENCODING: codificación del mensaje. Especifica uno de los siguientes valores: - binaryo- json.
- SCHEMA_NAME: nombre o ruta completa de un esquema. 
- TYPE: tipo de esquema insertado. Especifique uno de los siguientes valores: - avroo- protocol-buffer.
- DEFINITION: definición de esquema insertada. 
- DEFINITION_FILE: archivo que contiene la definición del esquema.