En este documento se explica cómo revertir un esquema de un tema de Pub/Sub.
La operación de reversión te permite crear otra revisión del esquema con la misma definición que la revisión anterior especificada.
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 revertir esquemas 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 revertir esquemas y gestionarlos. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para revertir esquemas 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.
Restaurar una revisión de un esquema
Puedes revertir un esquema mediante laGoogle Cloud consola, la CLI de gcloud, la API de Pub/Sub o las bibliotecas de cliente de Cloud. Sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Esquemas de Pub/Sub.
Haga clic en el nombre de un esquema.
Se abrirá la página Detalles del esquema del esquema.
Haz clic en Restaurar.
Se abrirá el cuadro de diálogo Restaurar esquema.
Selecciona la revisión a la que quieras restaurar tu esquema.
Haz clic en Confirmar para guardar la operación de reversión.
Se crea una nueva revisión con el esquema especificado en la operación de reversión.
En la página Detalles del esquema, seleccione la versión más reciente del esquema y la versión que haya seleccionado como origen de la operación de reversión.
Haz clic en Ver diferencias.
Puedes verificar que los dos esquemas son idénticos.
Puedes usar la revisión del esquema que acabas de crear como última revisión para validar un tema actualizando el campo Última revisión permitida.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Donde:
- REVISION_ID es la revisión a la que quieres volver.
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 }
Donde:
- REVISION_KD es el ID de la revisión a la que se va a revertir.
El cuerpo de la respuesta debe contener una representación JSON de un recurso de esquema.
C++
Antes de probar este ejemplo, sigue las instrucciones de configuración de C++ que se indican en la guía de inicio rápido sobre cómo usar bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API de C++ de Pub/Sub.
Go
En el siguiente ejemplo se usa la versión principal de la biblioteca de cliente de Pub/Sub de Go (v2). Si sigues usando la biblioteca v1, consulta la guía de migración a la versión 2. Para ver una lista de ejemplos de código de la versión 1, consulta los ejemplos de código obsoletos.
Antes de probar este ejemplo, sigue las instrucciones de configuración de Go que se indican en la guía de inicio rápido sobre cómo usar bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de Pub/Sub.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración de Java que se indican en la guía de inicio rápido sobre cómo usar bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de Pub/Sub.
Python
Antes de probar este ejemplo, sigue las instrucciones de configuración de Python que se indican en la guía de inicio rápido sobre cómo usar bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de Pub/Sub.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración de Node.js que se indican en la guía de inicio rápido sobre cómo usar bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Pub/Sub.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración de Node.js que se indican en la guía de inicio rápido sobre cómo usar bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Pub/Sub.
Siguientes pasos
- Eliminar una revisión de un esquema
- Eliminar un esquema
- Ver esquemas
- Mostrar las revisiones de un esquema
- Suscribirse a un tema con un esquema