En este documento, se muestra cómo validar esquemas para 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
- Comprender cómo funcionan los esquemas de Pub/Sub
- Crea un esquema.
Roles y permisos requeridos
Para obtener los permisos que necesitas para validar y administrar los mensajes de esquemas,
pídele 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:
-
Crear esquema:
pubsub.schemas.create
-
Adjunta el esquema al tema:
pubsub.schemas.attach
-
Confirma una revisión de 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
-
Esquemas de lista:
pubsub.schemas.list
-
Revisiones del esquema de la lista:
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 y vincularlo a un tema ubicado en un proyecto diferente. Asegúrate de tener los permisos necesarios para cada proyecto.
Valida 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 Probar mensaje.
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: Codificación del mensaje. Especifica 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.