En este documento, se muestra cómo revertir un esquema para un tema de Pub/Sub.
La operación de reversión te permite crear otra revisión del esquema con la definición exacta del esquema como la revisión anterior especificada.
Antes de comenzar
- Comprende cómo funcionan los esquemas de Pub/Sub.
- Crea un esquema.
Roles y permisos requeridos
Para obtener los permisos que
necesitas para revertir esquemas 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 a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos requeridos para revertir esquemas y administrarlos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para revertir esquemas y administrarlos:
-
Crear esquema:
pubsub.schemas.create -
Adjuntar esquema al tema:
pubsub.schemas.attach -
Confirmar una revisión del esquema:
pubsub.schemas.commit -
Borrar un esquema o una revisión del esquema:
pubsub.schemas.delete -
Obtener un esquema o revisiones del esquema:
pubsub.schemas.get -
Enumerar esquemas:
pubsub.schemas.list -
Enumerar revisiones del esquema:
pubsub.schemas.listRevisions -
Revertir un esquema:
pubsub.schemas.rollback -
Validar un mensaje:
pubsub.schemas.validate -
Obtener la política de IAM para un esquema:
pubsub.schemas.getIamPolicy -
Configurar la política de IAM para un esquema:
pubsub.schemas.setIamPolicy
También puedes obtener estos permisos con roles personalizados o 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.
Revierte una revisión del esquema
Puedes revertir un esquema con la Cloud de Confiance consola, la gcloud CLI, la API de Pub/Sub, o las bibliotecas cliente de Cloud. Lleva a cabo los pasos siguientes:
Console
En la Cloud de Confiance consola de, ve a la página Esquemas de Pub/Sub.
Haz clic en el nombre de un esquema existente.
Se abrirá la página Detalles del esquema correspondiente.
Haz clic en Revertir.
Se abrirá el diálogo Revertir esquema.
Selecciona la revisión a la que deseas revertir el esquema.
Haz clic en Confirmar para guardar la operación de reversión.
Se crea una revisión nueva con el esquema especificado en la operación de reversión.
En la página Detalles del esquema, selecciona la versión más reciente del esquema y la versión que seleccionaste como fuente para la operación de reversión.
Haz clic en Ver diferencia.
Puedes verificar que los dos esquemas sean idénticos.
Puedes usar la revisión del esquema que acabas de crear como la última revisión para validar un tema. Para ello, actualiza el campo Última revisión permitida.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Aquí:
- REVISION_ID es la revisión a la que deseas revertir.
REST
Para revertir un esquema, envía una solicitud POST como la siguiente:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Especifica los siguientes campos en el cuerpo de la solicitud:
{ "revisionId": REVISION_KD }
Aquí:
- REVISION_ID es el ID de la revisión a la que se revertirá.
El cuerpo de la respuesta debe contener una representación JSON de un recurso de esquema.
C++
Antes de probar esta muestra, sigue las instrucciones de configuración de C++ en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para C++ .
Go
En el siguiente ejemplo, se usa la versión principal de la biblioteca cliente de Pub/Sub para Go (v2). Si aún usas la biblioteca v1, consulta la guía de migración a la v2. Para ver una lista de ejemplos de código de la v1, consulta los ejemplos de código obsoletos.
Antes de probar esta muestra, sigue las instrucciones de configuración de Go en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Go.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Java .
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Python de Pub/Sub .
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js en la guía de inicio rápido sobre el uso de bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Pub/Sub para Node.js.