Modo de actualización del esquema

El modo de esquema define si un registro de esquemas o un tema específico permiten cambios, como escribir o editar esquemas.

  • Los valores admitidos para el modo de esquema son Readonly y Readwrite.

  • El modo de esquema se administra como un objeto JSON que contiene pares clave-valor. Por ejemplo, a continuación, se muestra una muestra:

    {
      "mode": "READWRITE"
    }
    
  • Si no se establece de forma explícita a nivel del registro de esquemas, el modo de esquema se establece de forma predeterminada en Lectura y escritura.

  • Si no se especifica un modo de esquema de forma explícita a nivel del tema, este hereda el valor del registro de esquemas.

  • Los parámetros de configuración establecidos a nivel del tema anulan los establecidos a nivel del registro de esquemas.

Para obtener más información sobre el modo de esquema, incluidos sus valores, consulta Modo de esquema.

Roles y permisos obligatorios para actualizar el modo de esquema

Para obtener los permisos que necesitas para actualizar el modo de esquema de un registro o tema de esquema, pídele a tu administrador que te otorgue el rol de IAM Editor del registro de esquemas de Kafka administrado (roles/managedkafka.schemaRegistryEditor) 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 actualizar el modo de esquema de un registro o 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 actualizar el modo de esquema de un registro de esquemas o un tema:

  • Otorga el siguiente permiso en el recurso para el que deseas actualizar el modo: managedkafka.mode.update

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

Para obtener más información sobre los roles predefinidos disponibles para Managed Service for Apache Kafka, consulta la documentación de control de acceso.

Actualiza el modo de esquema para un registro de esquemas

Console

Para actualizar el modo de esquema de todo el registro de esquemas, sigue estos pasos:

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

    Ir a Registros de esquemas

    Se muestra una lista de los registros de esquemas de tu proyecto.

  2. Haz clic en el nombre del registro de esquemas para el que deseas actualizar el modo de esquema.

    Se abrirá la página Detalles del registro de esquemas.

  3. En la sección de detalles principal del registro, busca el parámetro de configuración Modo de esquema y haz clic en el ícono Editar junto a él.

    Se abrirá la página Modo de edición del esquema.

  4. En el menú desplegable Modo de esquema, selecciona el valor.

    Para obtener más información sobre estos valores, consulta Acerca del modo de esquema.

  5. Haz clic en Guardar.

gcloud

Para actualizar el modo de esquema de un registro de esquema, usa el comando gcloud alpha managed-kafka schema-registries update:

gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • SCHEMA_REGISTRY_ID: Es el ID del registro de esquemas que se actualizará.
  • LOCATION: Es la región del registro de esquemas que se actualizará.
  • MODE_TYPE: Es el nuevo modo de esquema. Los valores válidos son los siguientes:
    • READWRITE
    • READONLY

Ejemplo:

Para actualizar el modo de esquema del registro de esquemas de test-registry en la región us-central1 a READONLY, ejecuta el siguiente comando:

gcloud alpha managed-kafka schema-registries update test-registry \
    --location=us-central1 \
    --mode=READONLY

REST

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, usa el siguiente comando: gcloud auth application-default print-access-token.

Para actualizar el modo de esquema, realiza una solicitud PUT al extremo de API de REST del registro de esquemas con el método projects.locations.schemaRegistries.contexts.mode.update.

Actualiza el modo de esquema para el registro de esquemas con un contexto predeterminado:

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/mode

Reemplaza los siguientes parámetros de ruta:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.
  • LOCATION: Es la región en la que existe el registro de esquemas.
  • SCHEMA_REGISTRY_ID: Es el ID único del registro de esquemas.

Cuerpo de la solicitud:

Incluye un objeto JSON en el cuerpo de la solicitud que especifique los detalles del modo.

{
  "mode": "MODE_TYPE"
}

Reemplaza MODE_TYPE por una de las opciones de cadena válidas para el modo:

  • READWRITE
  • READONLY

Si la operación se realiza correctamente, la API devuelve un código de estado 200 OK y un cuerpo de respuesta que contiene la representación JSON de la configuración del modo actualizada.

Para obtener más información, consulta la documentación de la API de REST.

Actualiza el modo de esquema de un tema

Console

Para actualizar el modo de esquema de un tema específico, sigue estos pasos:

  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 que contiene el tema.

    Se abrirá la página Detalles del registro de esquemas.

  3. En la tabla Sujetos en este registro de esquemas, haz clic en el nombre del sujeto para el que deseas actualizar el modo de esquema.
  4. Busca el parámetro de configuración Modo de esquema para el asunto y haz clic en el ícono de Editar junto a él.

    Se abrirá la página Modo de edición del esquema.

  5. En el menú desplegable Modo de esquema, selecciona el valor. Si eliges un valor aquí, se anulará el parámetro de configuración a nivel del registro para este tema específico.

    Para obtener más información sobre estos valores, consulta Acerca del modo de esquema.

  6. Haz clic en Guardar.

gcloud

Para actualizar el modo de esquema de un tema, usa el comando gcloud alpha managed-kafka schema-registries subject update:

gcloud alpha managed-kafka schema-registries subject update SUBJECT_NAME \
    --schema-registry=SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • SUBJECT_NAME: Es el nombre del asunto que se actualizará.
  • SCHEMA_REGISTRY_ID: Es el ID del registro de esquema que contiene el tema.
  • LOCATION: Es la región del registro de esquemas que contiene el tema.
  • MODE_TYPE: Es el nuevo modo de esquema. Los valores válidos son los siguientes:
    • READWRITE
    • READONLY

Ejemplo:

Para actualizar el modo de esquema del tema test-subject en el registro de esquemas test-registry de la región us-central1 a READONLY, ejecuta el siguiente comando:

gcloud alpha managed-kafka schema-registries subject update test-subject \
    --schema-registry=test-registry \
    --location=us-central1 \
    --mode=READONLY

REST

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, usa el siguiente comando: gcloud auth application-default print-access-token.

Para actualizar el modo de esquema de un tema, realiza una solicitud PUT al extremo de API de REST para un tema específico con el método projects.locations.schemaRegistries.contexts.mode.update.

Actualiza el modo de esquema para un tema en el contexto predeterminado:

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/mode/SUBJECT_NAME

Reemplaza los siguientes parámetros de ruta:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.
  • LOCATION: Es la región en la que existe el registro de esquemas.
  • SCHEMA_REGISTRY_ID: Es el ID único del registro de esquemas.
  • SUBJECT_NAME: Es el nombre del asunto.

Cuerpo de la solicitud:

Incluye un objeto JSON en el cuerpo de la solicitud que especifique los detalles del modo.

{
  "mode": "MODE_TYPE"
}

Reemplaza MODE_TYPE por una de las opciones de cadena válidas para el modo:

  • READWRITE
  • READONLY

Ejemplo: Establece el modo del esquema del asunto user_events en Readonly en el contexto predeterminado:

Solicitud para PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/mode/user_events

Con cuerpo:

{
  "mode": "READONLY"
}

Si la operación se realiza correctamente, la API devuelve un código de estado 200 OK y un cuerpo de respuesta que contiene la representación JSON del recurso de tema o contexto actualizado que refleja este cambio.

Actualiza el modo de esquema para un tema en un contexto específico:

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/contexts/CONTEXT_NAME/mode/SUBJECT_NAME

Reemplaza los siguientes parámetros de ruta:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud.
  • LOCATION: Es la región en la que existe el registro de esquemas.
  • SCHEMA_REGISTRY_ID: Es el ID único del registro de esquemas.
  • CONTEXT_NAME: Es el nombre del contexto.
  • SUBJECT_NAME: Es el nombre del asunto.

Cuerpo de la solicitud:

Incluye un objeto JSON en el cuerpo de la solicitud que especifique los detalles del modo.

{
  "mode": "MODE_TYPE"
}

Reemplaza MODE_TYPE por una de las opciones de cadena válidas para el modo:

  • READWRITE
  • READONLY

Ejemplo: Establece el modo del esquema del tema user_events en Readonly en el contexto test_context:

Solicitud para PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/contexts/test_context/mode/user_events

Con cuerpo:

{
  "mode": "READONLY"
}

Si la operación se realiza correctamente, la API devuelve un código de estado 200 OK y un cuerpo de respuesta que contiene la representación JSON del recurso de tema o contexto actualizado que refleja este cambio.

Para obtener más información, consulta la documentación de la API de REST.

¿Qué sigue?

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