É possível listar as versões de um assunto em um registro de esquema específico no seu projeto.
Este documento mostra como listar versões de assuntos usando o Google Cloud console ou a API Managed Kafka.
Papéis e permissões necessárias
Para receber as permissões necessárias para listar versões de assuntos, peça ao administrador para conceder a você o papel do IAM de Leitor do registro de esquema do Kafka gerenciado (roles/managedkafka.schemaRegistryViewer) no registro de esquema.
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 listar versões de assuntos. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para listar versões de assuntos:
-
Conceda a seguinte permissão no assunto pai:
managedkafka.versions.list
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Listar as versões do esquema em um assunto
Para listar todas as versões de um assunto em um registro de esquema específico no seu projeto, siga estas etapas.
Console
No Google Cloud console do, acesse a página Registros de esquema.
Clique no nome do registro de esquema em que o assunto está localizado.
Em Assuntos neste registro de esquema, clique no nome do assunto.
Na página Detalhes do assunto, as versões do esquema são listadas em Todas as versões.
Opcional: para conferir a definição do esquema de uma versão, marque a caixa de seleção do ID da versão. A definição do esquema é mostrada em Definição.
Opcional: para conferir as diferenças entre duas versões de esquema desse assunto, siga estas etapas:
- Em Todas as versões, selecione as versões a serem comparadas.
- Na área Definição, clique em Ver diferença.
As duas definições de esquema são mostradas lado a lado, com adições, exclusões e mudanças destacadas.
REST
A solicitação precisa ser autenticada com um token de acesso no cabeçalho Authorization. Para conseguir um token de acesso para o Application Default
Credentials:
gcloud auth application-default print-access-token.
Para listar versões de assuntos, faça uma solicitação GET para o
projects.locations.schemaRegistries.subjects.versions.list
método.
GET https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/REGISTRY_ID/subjects/SUBJECT_ID/versions
Authorization: Bearer $(gcloud auth application-default print-access-token)
Substitua:
- PROJECT_ID: o Google Cloud ID do projeto.
- LOCATION: aregião em que o Google Cloud registro de esquema está localizado.
- REGISTRY_ID: o ID do registro de esquema.
- SUBJECT_ID: o ID do assunto.
Exemplo:
GET https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/subjects/test_subject/versions
Authorization: Bearer $(gcloud auth application-default print-access-token)
Ou com um contexto:
GET https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/contexts/test_context/subjects/test_subject/versions
Authorization: Bearer $(gcloud auth application-default print-access-token)
Em que:
test-projecté o ID do Google Cloud projeto.us-central1é a Google Cloud região em que o registro de esquema está localizado.test_registryé o ID do registro de esquema.test_contexté o ID do contexto.test_subjecté o ID do assunto.
Se a solicitação for bem-sucedida, a API vai retornar um código de status 200 OK. O corpo da resposta contém uma matriz JSON de versões de assuntos.
Confira a seguir um exemplo de resposta bem-sucedida:
{
"versions": [
{
"name": "projects/test-project/locations/us-central1/schemaRegistries/test_registry/subjects/test_subject/versions/1",
"revisionId": "1a2b3c4d",
"schemaId": "S12345",
"createTime": "2024-07-15T12:00:00Z",
"revisionCreateTime": "2024-07-15T12:00:00Z"
},
{
"name": "projects/test-project/locations/us-central1/schemaRegistries/test_registry/subjects/test_subject/versions/2",
"revisionId": "5e6f7g8h",
"schemaId": "S67890",
"createTime": "2024-07-16T14:30:00Z",
"revisionCreateTime": "2024-07-16T14:30:00Z"
}
]
}
Para mais informações, consulte a documentação do
projects.locations.schemaRegistries.subjects.versions.list
método.