Borra una versión del tema del esquema

En este documento, se describe cómo borrar una versión específica de un tema de esquema de un registro de esquemas. Existen dos formas de borrar una versión de un tema:

  • Eliminación no definitiva. Marca la versión como borrada, pero se conserva su información y se puede recuperar.

  • Borrar de forma definitiva. Quita de forma permanente la versión y sus datos asociados.

Roles y permisos requeridos

Para obtener los permisos que necesitas para borrar una versión de un tema de esquema, pídele a tu administrador que te otorgue el rol de IAM de Editor del registro de esquemas de Kafka administrado (roles/managedkafka.schemaRegistryEditor) en el tema principal. 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 borrar una versión de un tema de esquema. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para borrar una versión de un tema del esquema:

  • Otorga el siguiente permiso en el asunto principal: managedkafka.googleapis.com/subjectVersions.delete

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Para obtener más información sobre los roles predefinidos, consulta los roles predefinidos de Managed Service para Apache Kafka.

Borra de forma no definitiva una versión del tema del esquema

Estas son algunas prácticas recomendadas para borrar de forma temporal una versión de un tema del esquema:

  • Verifica que ningún productor o consumidor activo use la versión del tema del esquema que deseas borrar.

  • Después de borrar una versión de un tema del esquema, supervisa tus aplicaciones para asegurarte de que sigan funcionando como se espera.

  • El borrado no definitivo permite recuperar versiones de temas de esquemas borradas, lo que resulta útil si no tienes certeza sobre si borrar una versión de un tema de esquema.

Para borrar de forma no definitiva una versión de un tema de esquema, sigue estos pasos.

Console

  1. En la consola Google Cloud , ve a la página Registros de esquemas.

    Ir a Registros de esquemas

  2. Haz clic en el nombre del registro de esquema en el que se encuentra tu tema.

  3. En Sujetos en este registro de esquemas, haz clic en el nombre del sujeto.

  4. En la lista Todas las versiones, busca la versión que deseas borrar y haz clic en Más acciones.

  5. Haz clic en Borrar versión.

  6. En la ventana Borrar versión del esquema, haz clic en Borrado lógico.

  7. Escribe delete para confirmar la acción y, luego, haz clic en Borrar.

REST

Para borrar de forma no definitiva una versión de un tema de esquema, realiza una solicitud DELETE al método projects.locations.schemaRegistries.subjects.versions.delete.

La solicitud debe autenticarse con un token de acceso en el encabezado Authorization. Para obtener un token de acceso para las credenciales predeterminadas actuales de la aplicación, ejecuta el siguiente comando: gcloud auth application-default print-access-token.

Para borrar de forma no definitiva la versión del tema del esquema, haz lo siguiente:

  • Usa el siguiente comando para el contexto predeterminado:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    
  • Usa el siguiente comando para un contexto específico:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID
    Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
    

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud , por ejemplo, test-project.
  • LOCATION: La Google Cloud región en la que se encuentra el registro de esquemas, por ejemplo, us-central1.
  • REGISTRY_ID: Es el ID de tu registro de esquemas, por ejemplo, test_registry.
  • CONTEXT_ID: Es el ID de tu contexto, por ejemplo, test_context.
  • SUBJECT_ID: Es el ID del asunto, por ejemplo, test_subject.
  • VERSION_ID: Es la versión del tema que se borrará, por ejemplo, 2 o latest.
  • SERVICE_ACCOUNT: La cuenta de servicio, por ejemplo, test-service-account@test-project.iam.gserviceaccount.com.

Si la solicitud se realiza correctamente, la API devuelve un código de estado 200 OK y un cuerpo de respuesta vacío.

Para obtener más información, consulta la documentación del método projects.locations.schemaRegistries.subjects.versions.delete.

Borra de forma permanente una versión del tema del esquema

Estas son algunas prácticas recomendadas para borrar de forma definitiva una versión de un tema del esquema:

  • Asegúrate de tener una copia de seguridad o una forma de volver a crear la versión del tema del esquema si es necesario.

  • Verifica que ningún productor o consumidor activo esté usando la versión del tema del esquema que deseas borrar.

  • Siempre prueba las eliminaciones de versiones de temas de esquema en un entorno de desarrollo o de pruebas antes de aplicar los cambios a la producción.

  • Después de borrar una versión de un tema del esquema, supervisa tus aplicaciones para asegurarte de que sigan funcionando como se espera.

  • Usa el borrado definitivo cuando necesites quitar permanentemente una versión de un tema del esquema.

Para borrar de forma permanente una versión de un tema del esquema, sigue estos pasos.

Console

  1. En la consola Google Cloud , ve a la página Registros de esquemas.

    Ir a Registros de esquemas

  2. Haz clic en el nombre del registro de esquema en el que se encuentra tu tema.

  3. En Sujetos en este registro de esquemas, haz clic en el nombre del sujeto.

  4. En la lista Todas las versiones, busca la versión que deseas borrar y haz clic en Más acciones.

  5. Haz clic en Borrar versión.

  6. En la ventana Borrar versión del esquema, haz clic en Borrado definitivo.

  7. Escribe delete para confirmar la acción y, luego, haz clic en Borrar. Esta acción borra de forma no definitiva la versión del tema antes de borrarla de forma permanente.

REST

Para borrar de forma definitiva una versión de un tema de esquema con la API de REST, primero debes borrarla de forma temporal. Una vez que se borre de forma no definitiva, puedes continuar con el borrado definitivo.

Para borrar de forma permanente una versión de un tema de esquema, realiza una solicitud DELETE al método projects.locations.schemaRegistries.subjects.versions.delete. Para borrar de forma definitiva la versión del tema del esquema, incluye el parámetro de consulta hardDelete=true.

La solicitud debe autenticarse con un token de acceso en el encabezado Authorization. Para obtener un token de acceso para las credenciales predeterminadas actuales de la aplicación, ejecuta el siguiente comando: gcloud auth application-default print-access-token.

Para borrar de forma definitiva la versión del tema del esquema, haz lo siguiente:

  • Usa el siguiente comando para el contexto predeterminado:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    
  • Usa el siguiente comando para un contexto específico:

    DELETE https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/contexts/CONTEXT_ID/subjects/SUBJECT_ID/versions/VERSION_ID?hardDelete=true
    Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)
    

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud , por ejemplo, test-project.
  • LOCATION: La Google Cloud región en la que se encuentra el registro de esquemas, por ejemplo, us-central1.
  • REGISTRY_ID: Es el ID de tu registro de esquemas, por ejemplo, test_registry.
  • CONTEXT_ID: Es el ID de tu contexto, por ejemplo, test_context.
  • SUBJECT_ID: Es el ID del asunto, por ejemplo, test_subject.
  • VERSION_ID: Es la versión del tema que se borrará, por ejemplo, 2 o latest.
  • SERVICE_ACCOUNT: La cuenta de servicio, por ejemplo, test-service-account@test-project.iam.gserviceaccount.com.

Si la solicitud se realiza correctamente, la API devuelve un código de estado 200 OK y un cuerpo de respuesta vacío.

Para obtener más información, consulta la documentación del método projects.locations.schemaRegistries.subjects.versions.delete.

¿Qué sigue?

Apache Kafka® es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.