Ao criar uma nova versão do esquema, o registro verifica se ela é compatível com as versões anteriores. A aplicação da compatibilidade de esquema ajuda a garantir que os produtores e consumidores de dados continuem trabalhando corretamente à medida que a estrutura de dados evolui.
Os valores aceitos para o tipo de compatibilidade são Backward, Backward transitive, Forward, Forward transitive, Full, Full transitive ou None.
O tipo de compatibilidade é gerenciado como um objeto JSON. Exemplo:
{ "compatibility": "BACKWARD" }Se não estiver definido explicitamente, o tipo de compatibilidade de um registro de esquema será Backward por padrão.
Se um tipo de compatibilidade não for definido em um assunto, ele vai herdar o valor do registro de esquema.
As configurações definidas no nível do assunto substituem as do nível do registro de esquema.
A atualização do tipo de compatibilidade afeta apenas as novas versões do esquema registradas após a atualização.
Para mais informações sobre os tipos de compatibilidade, consulte Sobre o tipo de compatibilidade.
Funções e permissões necessárias para atualizar o tipo de compatibilidade
Para receber as permissões necessárias para
atualizar o tipo de compatibilidade de um registro ou assunto de esquema,
peça ao administrador para conceder a você o
papel do IAM de Editor do registro de esquema do Kafka gerenciado (roles/managedkafka.schemaRegistryEditor)
no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para atualizar o tipo de compatibilidade de um registro de esquema ou assunto. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para atualizar o tipo de compatibilidade de um registro de esquema ou assunto:
-
Conceda a seguinte permissão no recurso para o qual você quer atualizar o tipo de compatibilidade:
managedkafka.config.update
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Atualizar o tipo de compatibilidade de um registro de esquema
Console
Para atualizar o tipo de compatibilidade de todo o registro de esquema, siga estas etapas:
- No console do Google Cloud , acesse a página Registros de esquema.
Acessar "Registros de esquema"
Uma lista dos registros de esquema no seu projeto é exibida.
- Clique no nome do registro de esquema para o qual você quer atualizar o tipo de compatibilidade.
A página Detalhes do registro de esquema é aberta.
- Na seção principal de detalhes do registro, encontre a configuração Tipo de compatibilidade e clique no ícone Editar ao lado dela.
A página Editar tipo de compatibilidade é aberta.
- No menu suspenso Tipo de compatibilidade, selecione o valor.
- Clique em Salvar.
gcloud
Para atualizar o tipo de compatibilidade de um registro de esquema, use o comando
gcloud alpha managed-kafka schema-registries update.
gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
SCHEMA_REGISTRY_ID: o ID do registro de esquema a ser atualizado.LOCATION: a região do registro de esquema.COMPATIBILITY_TYPE: o novo tipo de compatibilidade. Os valores válidos incluemBACKWARD,BACKWARD_TRANSITIVE,FORWARD,FORWARD_TRANSITIVE,FULL,FULL_TRANSITIVEouNONE.
Exemplo: atualize o tipo de compatibilidade do registro de esquema test-registry na região us-central1 para FORWARD.
gcloud alpha managed-kafka schema-registries update test-registry
--location=us-central1
--compatibility=FORWARD
REST
Para atualizar o tipo de compatibilidade de um registro de esquema, faça uma solicitação PUT à API REST.
Primeiro, receba um token de acesso:
gcloud auth application-default print-access-token
Em seguida, envie uma solicitação PUT para o endpoint de configuração do registro:
PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/config
Substitua os seguintes parâmetros de caminho:
PROJECT_ID: é seu ID do projeto no Google Cloud.LOCATION: a região em que o registro de esquema existe.SCHEMA_REGISTRY_ID: o ID do registro de esquema.
Inclua o seguinte objeto JSON no corpo da solicitação:
{ "compatibility": "COMPATIBILITY_TYPE" }
Substitua COMPATIBILITY_TYPE por um valor válido, como NONE, BACKWARD, FORWARD ou FULL.
Se a operação for bem-sucedida, a API vai retornar um código de status 200 OK.
Atualizar o tipo de compatibilidade de um assunto
Console
Para atualizar o tipo de compatibilidade de um assunto específico, siga estas etapas:
- No console do Google Cloud , acesse a página Registros de esquema.
- Clique no nome do registro de esquema que contém o assunto.
A página Detalhes do registro de esquema é aberta.
- Na tabela Assuntos neste registro de esquema, clique no nome do assunto.
- Encontre a configuração Tipo de compatibilidade do assunto e clique no ícone Editar ao lado dela.
A página Editar tipo de compatibilidade é aberta.
- No menu suspenso Tipo de compatibilidade, selecione o valor. Escolher um valor aqui substitui a configuração no nível do registro para esse assunto.
- Clique em Salvar.
gcloud
Para atualizar o tipo de compatibilidade de um assunto, use o comando
gcloud alpha managed-kafka schema-registries subject update.
gcloud alpha managed-kafka schema-registries subject update SUBJECT_ID
--schema-registry=SCHEMA_REGISTRY_ID
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
SUBJECT_ID: o ID do assunto a ser atualizado.SCHEMA_REGISTRY_ID: o ID do registro de esquema que contém o assunto.LOCATION: a região do registro de esquema.COMPATIBILITY_TYPE: o novo tipo de compatibilidade. Os valores válidos incluemBACKWARD,BACKWARD_TRANSITIVE,FORWARD,FORWARD_TRANSITIVE,FULL,FULL_TRANSITIVEouNONE.
Exemplo: atualize o tipo de compatibilidade do assunto test-subject no registro de esquema test-registry na região us-central1 para FORWARD_TRANSITIVE.
gcloud alpha managed-kafka schema-registries subject update test-subject
--schema-registry=test-registry
--location=us-central1
--compatibility=FORWARD_TRANSITIVE
REST
Para atualizar o tipo de compatibilidade de um assunto, faça uma solicitação PUT à API REST.
Primeiro, receba um token de acesso:
gcloud auth application-default print-access-token
Atualizar a compatibilidade de um assunto no contexto padrão:
PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/config/SUBJECT_ID
Atualizar a compatibilidade de um assunto em um contexto específico:
PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/contexts/CONTEXT_ID/config/SUBJECT_ID
Substitua os seguintes parâmetros de caminho:
PROJECT_ID: é seu ID do projeto no Google Cloud.LOCATION: a região em que o registro de esquema existe.SCHEMA_REGISTRY_ID: o ID do registro de esquema.SUBJECT_ID: o ID do assunto.CONTEXT_ID: o ID do contexto (se aplicável).
Inclua o seguinte objeto JSON no corpo da solicitação:
{ "compatibility": "COMPATIBILITY_TYPE" }
Substitua COMPATIBILITY_TYPE por um valor válido, como FORWARD_TRANSITIVE.
Exemplo:defina a compatibilidade do assunto user_events como FORWARD_TRANSITIVE.
Solicitação para PUT https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/config/user_events
Com corpo:
{ "compatibility": "FORWARD_TRANSITIVE" }
Se a operação for bem-sucedida, a API vai retornar um código de status 200 OK.
A seguir
- Atualizar modo de esquema
- Criar um assunto e registrar esquemas
- Ver detalhes de um registro de esquema