Excluir uma versão do assunto do esquema

Este documento descreve como excluir uma versão específica de um assunto de esquema de um registro de esquema. Há duas maneiras de excluir uma versão do assunto:

  • Exclusão reversível. Marca a versão como excluída, mas as informações dela são mantidas e podem ser recuperadas.

  • Exclusão permanente. Remove permanentemente a versão e os dados associados a ela.

Papéis e permissões necessárias

Para receber as permissões necessárias para excluir uma versão de assunto do esquema, peça ao administrador para conceder a você o papel do IAM de Editor do Managed Kafka Schema Registry (roles/managedkafka.schemaRegistryEditor) no assunto principal. 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 excluir uma versão de assunto do esquema. 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 excluir uma versão de assunto do esquema:

  • Conceda a seguinte permissão no assunto principal: managedkafka.googleapis.com/subjectVersions.delete

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para mais informações sobre papéis predefinidos, consulte os papéis predefinidos do Managed Service para Apache Kafka.

Excluir reversivelmente uma versão de assunto do esquema

Confira algumas práticas recomendadas para exclusão temporária de uma versão de assunto do esquema:

  • Verifique se não há produtores ou consumidores ativos usando a versão do assunto do esquema que você quer excluir.

  • Depois de excluir uma versão de assunto do esquema, monitore seus aplicativos para garantir que eles continuem funcionando conforme o esperado.

  • A exclusão reversível permite a recuperação de versões excluídas de assuntos de esquema, o que é útil se você não tiver certeza sobre a exclusão de uma versão de assunto de esquema.

Para fazer uma exclusão temporária de uma versão de assunto do esquema, siga estas etapas.

Console

  1. No console do Google Cloud , acesse a página Registros de esquema.

    Acessar "Registros de esquema"

  2. Clique no nome do registro de esquema em que seu assunto está localizado.

  3. Em Assuntos neste registro de esquema, clique no nome do assunto.

  4. Na lista Todas as versões, encontre a que você quer excluir e clique em Mais ações.

  5. Clique em Excluir versão.

  6. Na janela Excluir versão do esquema, clique em Exclusão reversível.

  7. Confirme a exclusão digitando delete e clique em Excluir.

REST

Para excluir de forma reversível uma versão de assunto do esquema, faça uma solicitação DELETE ao método projects.locations.schemaRegistries.subjects.versions.delete.

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 atual, execute o seguinte comando: gcloud auth application-default print-access-token.

Para excluir de forma reversível a versão do assunto do esquema:

  • Use o seguinte comando para o contexto padrão:

    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)
    
  • Use o comando a seguir para um 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)
    

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud , por exemplo, test-project.
  • LOCATION: a região Google Cloud em que o registro de esquema está localizado, por exemplo, us-central1.
  • REGISTRY_ID: o ID do seu registro de esquema, por exemplo, test_registry.
  • CONTEXT_ID: o ID do seu contexto. Por exemplo, test_context.
  • SUBJECT_ID: o ID do assunto, por exemplo, test_subject.
  • VERSION_ID: a versão do assunto a ser excluída, por exemplo, 2 ou latest.
  • SERVICE_ACCOUNT: a conta de serviço. Por exemplo, test-service-account@test-project.iam.gserviceaccount.com.

Se a solicitação for bem-sucedida, a API vai retornar um código de status 200 OK e um corpo de resposta vazio.

Para mais informações, consulte a documentação do método projects.locations.schemaRegistries.subjects.versions.delete.

Excluir permanentemente uma versão de assunto do esquema

Confira algumas práticas recomendadas para excluir permanentemente uma versão de assunto do esquema:

  • Verifique se você tem um backup ou uma maneira de recriar a versão do assunto do esquema, se necessário.

  • Verifique se não há produtores ou consumidores ativos usando a versão do assunto do esquema que você quer excluir.

  • Sempre teste as exclusões de versão de assunto do esquema em um ambiente de desenvolvimento ou de pré-produção antes de aplicar as mudanças à produção.

  • Depois de excluir uma versão de assunto do esquema, monitore seus aplicativos para garantir que eles continuem funcionando conforme o esperado.

  • Use a exclusão permanente quando precisar remover permanentemente uma versão de assunto do esquema.

Para excluir permanentemente uma versão de assunto do esquema, siga estas etapas.

Console

  1. No console do Google Cloud , acesse a página Registros de esquema.

    Acessar "Registros de esquema"

  2. Clique no nome do registro de esquema em que seu assunto está localizado.

  3. Em Assuntos neste registro de esquema, clique no nome do assunto.

  4. Na lista Todas as versões, encontre a que você quer excluir e clique em Mais ações.

  5. Clique em Excluir versão.

  6. Na janela Excluir versão do esquema, clique em Exclusão permanente.

  7. Confirme a exclusão digitando delete e clique em Excluir. Essa ação exclui a versão do assunto de forma reversível antes de excluir permanentemente.

REST

Para excluir permanentemente uma versão de assunto do esquema usando a API REST, primeiro é preciso fazer uma exclusão temporária. Depois da exclusão temporária, você pode continuar com a exclusão permanente.

Para excluir permanentemente uma versão de assunto do esquema, faça uma solicitação DELETE ao método projects.locations.schemaRegistries.subjects.versions.delete. Para excluir permanentemente a versão do assunto do esquema, inclua o parâmetro de consulta hardDelete=true.

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 atual, execute o seguinte comando: gcloud auth application-default print-access-token.

Para excluir permanentemente a versão do assunto do esquema:

  • Use o seguinte comando para o contexto padrão:

    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)
    
  • Use o comando a seguir para um 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)
    

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud , por exemplo, test-project.
  • LOCATION: a região Google Cloud em que o registro de esquema está localizado, por exemplo, us-central1.
  • REGISTRY_ID: o ID do seu registro de esquema, por exemplo, test_registry.
  • CONTEXT_ID: o ID do seu contexto. Por exemplo, test_context.
  • SUBJECT_ID: o ID do assunto, por exemplo, test_subject.
  • VERSION_ID: a versão do assunto a ser excluída, por exemplo, 2 ou latest.
  • SERVICE_ACCOUNT: a conta de serviço. Por exemplo, test-service-account@test-project.iam.gserviceaccount.com.

Se a solicitação for bem-sucedida, a API vai retornar um código de status 200 OK e um corpo de resposta vazio.

Para mais informações, consulte a documentação do método projects.locations.schemaRegistries.subjects.versions.delete.

A seguir

Apache Kafka® é uma marca registrada da The Apache Software Foundation ou afiliadas nos Estados Unidos e/ou em outros países.