En este documento, se muestra cómo validar esquemas para los temas de Pub/Sub.
Puedes validar que los mensajes se adhieran a un esquema determinado, antes o después de crear un recurso de esquema. Este paso garantiza que los mensajes que deseas enviar a través de un tema asociado con un esquema coincidan antes de aplicar el esquema.
Antes de comenzar
- Obtén información sobre cómo funcionan los esquemas de Pub/Sub.
- Crea un esquema.
Roles y permisos requeridos
A fin de obtener los permisos que necesitas para validar los mensajes del esquema y administrarlos,
solicita a tu administrador que te otorgue el
Rol de IAM de Editor de Pub/Sub (roles/pubsub.editor
) en tu proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para validar y administrar los mensajes de esquemas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para validar y administrar los mensajes de esquema:
-
Crea un esquema:
pubsub.schemas.create
-
Adjunta un esquema al tema:
pubsub.schemas.attach
-
Confirma una revisión del esquema:
pubsub.schemas.commit
-
Borra un esquema o una revisión de esquema:
pubsub.schemas.delete
-
Obtén un esquema o revisiones de esquemas:
pubsub.schemas.get
-
Enumera los esquemas:
pubsub.schemas.list
-
Enumera las revisiones de esquema:
pubsub.schemas.listRevisions
-
Revierte un esquema:
pubsub.schemas.rollback
-
Valida un mensaje:
pubsub.schemas.validate
-
Obtén la política de IAM de un esquema:
pubsub.schemas.getIamPolicy
-
Configura la política de IAM para un esquema:
pubsub.schemas.setIamPolicy
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Puedes otorgar roles y permisos a principales, como usuarios, grupos, dominios o cuentas de servicio. Puedes crear un esquema en un proyecto adjuntarlo a un tema ubicado en un proyecto diferente. Asegúrate de tener los permisos necesarios para cada proyecto.
Cómo validar un mensaje para un esquema
Console
En la consola de Google Cloud, ve a la página Esquemas de Pub/Sub.
Se muestra la lista de esquemas.
Haz clic en el ID de esquema de un esquema existente.
Se abrirá la página Detalles del esquema del esquema.
En la sección Revisiones, haz clic en la revisión para la que deseas validar un mensaje.
En la sección Detalles, haz clic en Mensaje de prueba.
En la ventana Test message, selecciona un tipo de Codificación de mensajes.
En el cuerpo del Mensaje, ingresa un mensaje de prueba.
Haga clic en Test.
gcloud
-
In the Google Cloud console, 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.
- Para validar un mensaje en función de 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))
Reemplaza lo siguiente:
MESSAGE: Es el mensaje que se validará en función del esquema.
MESSAGE_ENCODING: Es la codificación del mensaje. Especificar uno de los siguientes valores:
binary
ojson
.SCHEMA_NAME: Es el nombre o la ruta de acceso completa de un esquema existente.
TYPE: Es el tipo de esquema intercalado. Especifica uno de los siguientes valores:
avro
oprotocol-buffer
.DEFINITION: Es la definición de esquema intercalado.
DEFINITION_FILE: Es el archivo que contiene la definición del esquema.