Valida un mensaje para un esquema

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 intentas enviar a través de un tema asociado con un esquema realmente coincidan antes de aplicar el esquema.

Antes de comenzar

Roles y permisos requeridos

A fin de obtener los permisos que necesitas para validar los mensajes de esquema y administrarlos, 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.

Este rol predefinido contiene los permisos necesarios para validar los mensajes de esquema y administrarlos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para validar los mensajes de esquema y administrarlos:

  • Crear esquema: pubsub.schemas.create
  • Adjuntar 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
  • Obtener un esquema o revisiones de esquema: pubsub.schemas.get
  • Enumerar esquemas: pubsub.schemas.list
  • Enumera las revisiones de esquema: pubsub.schemas.listRevisions
  • Revierte un esquema: pubsub.schemas.rollback
  • Validar un mensaje: pubsub.schemas.validate
  • Obtén la política de IAM para 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, también, 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 adjuntarlo 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

  1. En la consola de Google Cloud, ve a la página Esquemas de Pub/Sub.

    Ir a Esquemas

    Se muestra la lista de esquemas.

  2. Haz clic en el ID de esquema de un esquema existente.

    Se abrirá la página Detalles del esquema del esquema.

  3. En la sección Revisiones, haz clic en la revisión para la que deseas validar un mensaje.

  4. En la sección Detalles, haz clic en Mensaje de prueba.

  5. En la ventana Mensaje de prueba, selecciona un tipo de Codificación de mensajes.

  6. En el cuerpo del Mensaje, ingresa un mensaje de prueba.

  7. Haga clic en Test.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para validar un mensaje según 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 para validar según el esquema.

    • MESSAGE_ENCODING: Es la codificación del mensaje. Especifica uno de los siguientes valores: binary o json.

    • 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 o protocol-buffer.

    • DEFINITION: Es la definición de esquema intercalado.

    • DEFINITION_FILE: Es el archivo que contiene la definición de esquema.

¿Qué sigue?