Elimine dados em massa
Use o serviço de eliminação em massa gerido para eliminar dados da sua base de dados. Esta funcionalidade suporta a eliminação em um ou mais grupos de recolha.
Esta página descreve como eliminar documentos em massa através do serviço de eliminação em massa gerido. O serviço de eliminação em massa gerido compatível com o MongoDB do Firestore está disponível através da ferramenta de linha de comandos gcloud
e da API REST do Firestore.
Antes de começar
Antes de poder usar o serviço de eliminação em massa gerido, tem de concluir as seguintes tarefas:
- Ative a faturação para o seu projeto Google Cloud . Apenas os projetos Google Cloud com a faturação ativada podem usar a funcionalidade de eliminação em massa.
-
Certifique-se de que a sua conta tem as autorizações necessárias para o Firestore com compatibilidade com o MongoDB. Se for o proprietário do projeto, a sua conta tem as autorizações necessárias. Caso contrário, as seguintes funções concedem as autorizações necessárias para operações de eliminação em massa:
- Funções de compatibilidade do Firestore com o MongoDB:
Owner
,Cloud Datastore Owner
ouCloud Datastore Bulk Admin
- Funções de compatibilidade do Firestore com o MongoDB:
Configure o gcloud
para o seu projeto
Pode iniciar operações de eliminação em massa através da Google Cloud consola ou
da ferramenta de linha de comandos gcloud
. Para usar o gcloud
, configure a ferramenta de linha de comandos
e ligue-se ao seu projeto de uma das seguintes formas:
Aceda ao
gcloud
a partir da Google Cloud consola através do Cloud Shell.Certifique-se de que o dispositivo
gcloud
está configurado para o projeto correto:gcloud config set project [PROJECT_ID]
Elimine dados em massa
Uma operação de eliminação em massa encontra primeiro todos os documentos aplicáveis na sua base de dados e elimina-os em lotes. Pode continuar a consultar ou ler estes documentos, embora os resultados possam variar com base no progresso realizado. A eliminação em massa não elimina documentos adicionados ou modificados após o início da operação.
Elimine em massa grupos de coleções específicos
gcloud
Para eliminar em massa grupos de coleções específicos, use a flag --collection-ids
. A operação elimina apenas os grupos de recolha com os IDs indicados.
gcloud firestore bulk-delete \ --collection-ids=[COLLECTION_GROUP_ID_1_OR_KIND_1],[COLLECTION_GROUP_ID_2_OR_KIND_2],[SUBCOLLECTION_GROUP_ID_1_OR_KIND_3] \ --database=[DATABASE]
restaurants
da base de dados cymbal
.
Também tem coleções para ratings
, reviews
e outlets
.
Para eliminar em massa as coleções restaurants
e reviews
, o comando tem o seguinte aspeto:
gcloud firestore bulk-delete \ --collection-ids=restaurants,reviews \ --database='cymbal'
Faça a gestão de operações de eliminação em massa
Depois de iniciar uma operação de eliminação em massa, o Firestore com compatibilidade com o MongoDB atribui um nome exclusivo à operação. Pode usar o nome da operação para eliminar, cancelar ou verificar o estado da operação.
Os nomes das operações têm o prefixo projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/
,
por exemplo:
projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
No entanto, pode omitir o prefixo quando especificar um nome de operação para os comandos describe
, cancel
e delete
.
Apresente todas as operações de eliminação em massa
gcloud
Use o comando operations list
para ver todas as operações em execução e concluídas recentemente, incluindo operações de eliminação em massa:
gcloud firestore operations list
Verifique o estado da operação
gcloud
Use o comando operations describe
para mostrar o estado de uma operação de eliminação em massa.
gcloud firestore operations describe [OPERATION_NAME]
Estime o tempo de conclusão
Um pedido do estado de uma operação de longa duração devolve as métricas workEstimated
e workCompleted
. Cada uma destas métricas é devolvida no número de bytes e no número de documentos:
workEstimated
mostra o número total estimado de bytes e documentos que uma operação vai processar. O Firestore com compatibilidade com o MongoDB pode omitir esta métrica se não conseguir fazer uma estimativa.workCompleted
mostra o número de bytes e documentos eliminados até agora. Após a conclusão da operação, o valor mostra o número total de bytes e documentos que foram efetivamente processados, o que pode ser superior ao valor deworkEstimated
.
Divida workCompleted
por workEstimated
para uma estimativa aproximada do progresso. Esta estimativa pode ser imprecisa, uma vez que depende da recolha de estatísticas atrasadas.
Cancele uma operação
gcloud
Use o comando operations cancel
para parar uma operação em curso:
gcloud firestore operations cancel [OPERATION_NAME]
O cancelamento de uma operação em execução não anula a operação. Uma operação de eliminação em massa cancelada não recupera os documentos eliminados.
Elimine uma operação
Use o comando gcloud firestore operations delete
para remover uma operação concluída da lista de operações recentes. Para cancelar uma operação em execução, use a operação de cancelamento anterior.
gcloud firestore operations delete [OPERATION_NAME]
Faturação e preços para operações de eliminação em massa
Tem de ativar a faturação para o seu Google Cloud projeto antes de usar o serviço de eliminação em massa gerido.
As operações de eliminação em massa são cobradas por leituras e eliminações de documentos às taxas indicadas nos preços da edição Enterprise do Firestore.É-lhe cobrada 1 unidade de escrita por cada tranche de 1 KiB de dados de documentos ou dados de entrada de índice eliminados.
É-lhe cobrado um mínimo de uma unidade de leitura por documento eliminado. Se o tamanho do nome do documento for superior a 4 KiB, é-lhe cobrada 1 unidade de leitura por cada tranche de 4 KiB, arredondada para cima, para esse documento.
Tenha em atenção que o Firestore com compatibilidade com o MongoDB cobra o trabalho real realizado. Se a operação for cancelada ou falhar devido a um erro do utilizador, é-lhe cobrado o progresso realizado. O Firestore com compatibilidade com o MongoDB não cobra leituras nem eliminações dos documentos que não são eliminados definitivamente, como documentos que são modificados após o início da operação de eliminação. O custo é atribuído no dia da conclusão da operação.
As operações de eliminação em massa não acionam os alertas de Google Cloud orçamento até à conclusão. Da mesma forma, as leituras e as eliminações realizadas durante uma operação de eliminação em massa são aplicadas à sua utilização do nível gratuito após a conclusão da operação. As operações de eliminação em massa não afetam a utilização apresentada na secção de utilização da consola.
Veja os custos de eliminação em massa
As operações de eliminação em massa aplicam a etiqueta goog-firestoremanaged:bulkdelete
às operações faturadas. Na página de relatórios do Cloud Billing,
pode usar esta etiqueta para ver os custos relacionados com operações de eliminação em massa.