Exportar e importar dados

Pode usar o serviço de exportação e importação gerido do Firestore para recuperar de uma eliminação acidental de dados e exportar dados para processamento offline. Pode exportar todos os documentos ou apenas coleções específicas. Da mesma forma, pode importar todos os dados de uma exportação ou apenas coleções específicas. Os dados exportados de uma base de dados do Firestore podem ser importados para outra base de dados do Firestore. Também pode carregar exportações do Firestore para o BigQuery.

Esta página descreve como exportar e importar documentos do Firestore através do serviço de exportação e importação gerido e do Google Cloud Storage. O serviço de exportação e importação gerido do Firestore está disponível através da ferramenta de linha de comandos e da API (REST, RPC) do Firestore.gcloud

Antes de começar

Antes de poder usar o serviço de exportação e importação gerido, tem de concluir as seguintes tarefas:

  1. Ative a faturação para o seu projeto Google Cloud . Apenas Google Cloud os projetos com a faturação ativada podem usar a funcionalidade de exportação e importação.
  2. Crie um contentor do Cloud Storage para o seu projeto numa localização perto da localização da sua base de dados do Firestore. Não pode usar um bucket Requester Pays para operações de exportação e importação.
  3. Certifique-se de que a sua conta tem as autorizações necessárias para o Firestore e o Cloud Storage. 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 exportação e importação, bem como para acesso ao Cloud Storage:

Autorizações do agente de serviço

As operações de exportação e importação usam um agente de serviço do Firestore para autorizar operações do Cloud Storage. O agente do serviço Firestore usa a seguinte convenção de nomenclatura:

Agente de serviço do Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Para saber mais sobre os agentes de serviços, consulte o artigo Agentes de serviços.

O agente de serviço do Firestore requer acesso ao contentor do Cloud Storage usado numa operação de exportação ou importação. Se o seu contentor do Cloud Storage estiver no mesmo projeto que a sua base de dados do Firestore, o agente de serviço do Firestore pode aceder ao contentor por predefinição.

Se o contentor do Cloud Storage estiver noutro projeto, tem de conceder ao agente de serviço do Firestore acesso ao contentor do Cloud Storage.

Atribua funções ao agente do serviço

Pode usar a ferramenta de linha de comandos gsutil para atribuir uma das funções abaixo. Por exemplo, para atribuir a função de administrador do armazenamento ao agente de serviço do Firestore, execute o seguinte comando:

gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \
    gs://[BUCKET_NAME]

Substitua PROJECT_NUMBER pelo número do seu projeto, que é usado para atribuir um nome ao agente do serviço Firestore. Para ver o nome do agente do serviço, consulte o artigo Veja o nome do agente do serviço.

Em alternativa, pode atribuir esta função através da Google Cloud consola.

Veja o nome do agente do serviço

Pode ver a conta que as suas operações de importação e exportação usam para autorizar pedidos na página Importar/Exportar na Google Cloud consola. Também pode ver se a sua base de dados usa o agente de serviço do Firestore ou a conta de serviço do App Engine antiga.

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

  3. No menu de navegação, clique em Importar/Exportar.

  4. Veja a conta de autorização junto à etiqueta Trabalhos de importação/exportação executados como.

O agente de serviço precisa da função Storage Admin para o contentor do Cloud Storage a usar para a operação de exportação ou importação.

Configure o gcloud para o seu projeto

Pode iniciar operações de importação e exportação 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:

Exportar dados

Uma operação de exportação copia documentos na sua base de dados para um conjunto de ficheiros num contentor do Cloud Storage. Tenha em atenção que uma exportação não é uma imagem exata da base de dados tirada no momento em que a exportação é iniciada. Uma exportação pode incluir alterações feitas enquanto a operação estava em execução.

Exporte todos os documentos

Consola do Google Cloud

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

  3. No menu de navegação, clique em Importar/Exportar.

  4. Clique em Exportar.

  5. Clique na opção Exportar base de dados completa.

  6. Abaixo de Escolher destino, introduza o nome de um contentor do Cloud Storage ou use o botão Procurar para selecionar um contentor.

  7. Clique em Exportar.

A consola regressa à página Importar/Exportar. Se a operação for iniciada com êxito, a página adiciona uma entrada à página de importações e exportações recentes. Em caso de falha, a página apresenta uma mensagem de erro.

gcloud

Use o comando firestore export para exportar todos os documentos na sua base de dados, substituindo [BUCKET_NAME] pelo nome do seu contentor do Cloud Storage. Adicione a flag --async para impedir que a ferramenta gcloud aguarde a conclusão da operação.

  gcloud firestore export gs://[BUCKET_NAME] \
  --database=[DATABASE]

Substitua o seguinte:

  • BUCKET_NAME: organize as suas exportações adicionando um prefixo de ficheiro após o nome do contentor, por exemplo, BUCKET_NAME/my-exports-folder/export-name. Se não fornecer um prefixo de ficheiro, o serviço de exportação gerido cria um com base na data/hora atual.

  • DATABASE: nome da base de dados a partir da qual quer exportar os documentos. Para a base de dados predefinida, use --database='(default)'.

Depois de iniciar uma operação de exportação, o fecho do terminal não cancela a operação. Consulte o artigo Cancelar uma operação.

Exporte coleções específicas

Consola do Google Cloud

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

  3. No menu de navegação, clique em Importar/Exportar.

  4. Clique em Exportar.

  5. Clique na opção Exportar um ou mais grupos de recolha. Use o menu pendente para selecionar um ou mais grupos de coleções.

  6. Abaixo de Escolher destino, introduza o nome de um contentor do Cloud Storage ou use o botão Procurar para selecionar um contentor.

  7. Clique em Exportar.

A consola regressa à página Importar/Exportar. Se a operação for iniciada com êxito, a página adiciona uma entrada à página de importações e exportações recentes. Em caso de falha, a página apresenta uma mensagem de erro.

gcloud

Para exportar grupos de coleções específicos, use a flag --collection-ids. A operação exporta apenas os grupos de recolha com os IDs de recolha indicados. O grupo de coleções inclui todas as coleções e subcoleções (em qualquer caminho) com o ID da coleção especificado.

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \
--database=[DATABASE]

Por exemplo, pode criar uma coleção restaurants na base de dados foo para incluir várias subcoleções, como ratings, reviews ou outlets. Para exportar restaurants e reviews específicos da coleção, o comando tem o seguinte aspeto:

gcloud firestore export gs://[BUCKET_NAME] \
--collection-ids=restaurants,reviews \
--database='cymbal'

Exporte a partir de uma indicação de tempo PITR

Pode exportar a sua base de dados para o Cloud Storage a partir de dados PITR. Pode exportar dados PITR cuja data/hora seja uma data/hora de um minuto inteiro nos últimos sete dias, mas não antes de earliestVersionTime. Se os dados já não existirem na data/hora especificada, a operação de exportação falha.

A operação de exportação PITR suporta todos os filtros, incluindo a exportação de todos os documentos e a exportação de coleções específicas.

Tenha em atenção os seguintes pontos antes de exportar dados PITR:

  • Especifique a data/hora no formato RFC 3339. Por exemplo, 2023-05-26T10:20:00.00Z.
  • Certifique-se de que a data/hora especificada é uma data/hora de um minuto inteiro nos últimos sete dias, mas não anterior a earliestVersionTime. Se os dados já não existirem na data/hora especificada, é gerado um erro.
  • Não lhe é cobrado um valor por uma exportação PITR falhada.

Consola

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados
  2. Selecione uma base de dados na lista de bases de dados.
  3. No menu de navegação, clique em Importar/Exportar.
  4. Clique em Exportar.
  5. Configure a origem da exportação para exportar toda a base de dados ou apenas coleções específicas.
  6. Na secção Escolha o estado da base de dados a exportar, selecione Exportar a partir de um ponto anterior no tempo.

    Selecione uma hora do instantâneo a usar para a exportação

  7. Na secção Destino, introduza o nome de um contentor do Cloud Storage ou use o botão Procurar para selecionar um contentor.
  8. Clique em Exportar.

    A consola regressa à página Importar/Exportar. Se a operação for iniciada com êxito, a página adiciona uma entrada à página de importações e exportações recentes. Em caso de falha, a página apresenta uma mensagem de erro.

gcloud

Pode exportar a sua base de dados para o Cloud Storage a partir de dados PITR através do comando gcloud firestore export.

Exporte a base de dados, especificando o parâmetro snapshot-time para uma data/hora de recuperação. Execute o seguinte comando para exportar a base de dados para o seu contentor.

gcloud firestore export gs://[BUCKET_NAME_PATH] \
    --snapshot-time=[PITR_TIMESTAMP]

Em que PITR_TIMESTAMP é uma data/hora de PITR com um nível de detalhe de minutos, por exemplo, 2023-05-26T10:20:00.00Z.

Adicione a flag --collection-ids para exportar coleções específicas.

Importar dados

Depois de ter ficheiros de exportação no Cloud Storage, pode importar documentos desses ficheiros de volta para o seu projeto ou para outro projeto. Tenha em atenção os seguintes pontos acerca das operações de importação:

  • Quando importa dados, os índices necessários são atualizados através das definições de índice atuais da sua base de dados. Uma exportação não contém definições de índice.

  • As importações não atribuem novos IDs de documentos. As importações usam os IDs capturados no momento da exportação. À medida que um documento é importado, o respetivo ID é reservado para evitar conflitos de IDs. Se já existir um documento com o mesmo ID, a importação substitui o documento existente.

  • Se um documento na sua base de dados não for afetado por uma importação, permanece na base de dados após a importação.

  • As operações de importação não acionam as Funções do Google Cloud. Os ouvintes de instantâneos recebem atualizações relacionadas com operações de importação.

  • O nome do ficheiro .overall_export_metadata tem de corresponder ao nome da respetiva pasta principal:

    gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/PARENT_FOLDER_NAME/PARENT_FOLDER_NAME.overall_export_metadata

    Se mover ou copiar os ficheiros de saída de uma exportação, mantenha o nome dos ficheiros PARENT_FOLDER_NAME e .overall_export_metadata igual.

Importe todos os documentos de uma exportação

Consola do Google Cloud

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

  3. No menu de navegação, clique em Importar/Exportar.

  4. Clique em Importar.

  5. No campo Nome do ficheiro, introduza o nome do ficheiro de um ficheiro .overall_export_metadata de uma operação de exportação concluída. Pode usar o botão Procurar para ajudar a selecionar o ficheiro.

  6. Clique em Importar.

A consola regressa à página Importar/Exportar. Se a operação for iniciada com êxito, a página adiciona uma entrada à página de importações e exportações recentes. Em caso de falha, a página apresenta uma mensagem de erro.

gcloud

Use o comando firestore import para importar documentos de uma operação de exportação anterior.

gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]

Substitua o seguinte:

  • BUCKET_NAME/EXPORT_PREFIX: localização dos seus ficheiros de exportação.

  • DATABASE: nome da base de dados. Para a base de dados predefinida, use --database='(default)'.

Por exemplo:

gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'

Pode confirmar a localização dos seus ficheiros de exportação no navegador do Cloud Storage na Google Cloud consola:

Abrir navegador do Cloud Storage

Depois de iniciar uma operação de importação, o fecho do terminal não cancela a operação. Consulte o artigo Cancelar uma operação.

Importe coleções específicas

Consola do Google Cloud

Não pode selecionar coleções específicas na consola. Em alternativa, use gcloud.

gcloud

Para importar grupos de coleções específicos de um conjunto de ficheiros de exportação, use a flag --collection-ids. A operação importa apenas os grupos de recolha com os IDs de recolha indicados. O grupo de coleções inclui todas as coleções e subcoleções (em qualquer caminho) com o ID da coleção especificado. Especifique o nome da base de dados através da flag --database. Para a base de dados predefinida, use --database='(default)'.

Apenas uma exportação de grupos de coleções específicos suporta uma importação de grupos de coleções específicos. Não pode importar coleções específicas de uma exportação de todos os documentos.

  gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \
  --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \
  --database=[DATABASE]

Importe uma exportação PITR

Use os passos em Importar todos os documentos para importar a base de dados exportada. Se já existir algum documento na sua base de dados, este vai ser substituído.

Gerir operações de exportação e importação

Depois de iniciar uma operação de exportação ou importação, o Firestore 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/(default)/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.

Apresentar todas as operações de exportação e importação

Consola do Google Cloud

Pode ver uma lista das operações de exportação e importação recentes na página Importar/Exportar da Google Cloud consola.

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

  3. No menu de navegação, clique em Importar/Exportar.

gcloud

Use o comando operations list para ver todas as operações de exportação e importação em execução e concluídas recentemente:

gcloud firestore operations list

Verifique o estado da operação

Consola do Google Cloud

Pode ver o estado de uma operação de exportação ou importação recente na página Importar/Exportar da Google Cloud consola.

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

  3. No menu de navegação, clique em Importar/Exportar.

gcloud

Use o comando operations describe para mostrar o estado de uma operação de exportação ou importação.

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 entidades:

  • workEstimated mostra o número total estimado de bytes e documentos que uma operação vai processar. O Firestore pode omitir esta métrica se não conseguir fazer uma estimativa.

  • workCompleted mostra o número de bytes e documentos processados 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 de workEstimated.

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

Consola do Google Cloud

Pode cancelar uma operação de exportação ou importação em execução na página Importar/Exportar da Google Cloud consola.

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.

  3. No menu de navegação, clique em Importar/Exportar.

Na tabela Importações e exportações recentes, as operações em execução incluem um botão Cancelar na coluna Concluído. Clique no botão Cancelar para parar a operação. O botão muda para uma mensagem A cancelar e, em seguida, para Cancelado quando a operação é completamente interrompida.

Tabela de importações e exportações recentes na consola a mostrar uma importação de dados em curso com uma opção Cancelar para parar a 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 exportação cancelada deixa os documentos já exportados no Cloud Storage, e uma operação de importação cancelada deixa no lugar as atualizações já feitas à sua base de dados. Não pode importar uma exportação concluída parcialmente.

Elimine uma operação

Use o comando gcloud firestore operations delete para remover uma operação da lista de operações recentes. Este comando não elimina os ficheiros de exportação do Cloud Storage.

gcloud firestore operations delete [OPERATION_NAME]

Faturação e preços para operações de exportação e importação

Tem de ativar a faturação para o seu Google Cloud projeto antes de usar o serviço de exportação e importação gerido.

As operações de exportação e importação são cobradas por leituras e escritas de documentos às taxas indicadas nos preços do Firestore. As operações de exportação incorrem numa operação de leitura por documento exportado. As operações de importação incorrem numa operação de escrita por documento importado.

Os ficheiros de saída armazenados no Cloud Storage são contabilizados nos seus custos de armazenamento de dados do Cloud Storage.

As operações de exportação ou importação não acionam os alertas de Google Cloud orçamento até à conclusão. As operações de exportação e importação não afetam a utilização apresentada na secção de utilização da consola.

Ver custos de exportação e importação

As operações de exportação e importação aplicam a etiqueta goog-firestoremanaged:exportimport à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 importação e exportação:

Aceda à etiqueta goog-firestoremanaged no menu de filtros.

Exporte para o BigQuery

Pode carregar dados de uma exportação do Firestore para o BigQuery, mas apenas se tiver especificado um collection-ids filtro. Consulte o artigo Carregar dados de exportações do Firestore.

Limite de colunas do BigQuery

O BigQuery impõe um limite de 10 000 colunas por tabela. As operações de exportação do Firestore geram um esquema de tabela do BigQuery para cada grupo de coleções. Neste esquema, cada nome de campo único num grupo de coleções torna-se uma coluna do esquema.

Se o esquema do BigQuery de um grupo de recolha ultrapassar as 10 000 colunas, a operação de exportação do Firestore tenta manter-se abaixo do limite de colunas tratando os campos de mapas como bytes. Se esta conversão fizer com que o número de colunas seja inferior a 10 000, pode carregar os dados para o BigQuery, mas não pode consultar os subcampos nos campos de mapa. Se o número de colunas continuar a exceder 10 000, a operação de exportação não gera um esquema do BigQuery para o grupo de recolha e não pode carregar os respetivos dados para o BigQuery.

Exporte ficheiros de metadados e de formato

A saída de uma exportação gerida usa o formato de registo LevelDB.

Ficheiros de metadados

Uma operação de exportação cria um ficheiro de metadados para cada grupo de recolha que especificar. Normalmente, os ficheiros de metadados são denominados ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata.

Os ficheiros de metadados são buffers de protocolo e pode descodificá-los com o protoccompilador de protocolo. Por exemplo, pode descodificar um ficheiro de metadados para determinar os grupos de recolha que os ficheiros de exportação contêm:

protoc --decode_raw < export0.export_metadata

Migração de agentes de serviço

O Firestore usa um agente do serviço do Firestore para autorizar operações de importação e exportação, em vez de usar a conta de serviço do App Engine. O agente do serviço e a conta de serviço usam as seguintes convenções de nomenclatura:

Agente de serviço do Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Anteriormente, o Firestore usava a conta de serviço predefinida do App Engine em vez do agente de serviço do Firestore. Se a sua base de dados continuar a usar a conta de serviço do App Engine para importar ou exportar dados, recomendamos que siga as instruções nesta secção para migrar para a utilização do agente de serviço do Firestore.

Conta de serviço do App Engine
PROJECT_ID@appspot.gserviceaccount.com

O agente do serviço do Firestore é preferível porque é específico do Firestore. A conta de serviço do App Engine é partilhada por mais do que um serviço.

Ver conta de autorização

Pode ver que conta as suas operações de importação e exportação usam para autorizar pedidos a partir da página Importar/Exportar na Google Cloud consola. Também pode ver se a sua base de dados já usa o agente do serviço Firestore.

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.
  3. No menu de navegação, clique em Importar/Exportar.

  4. Veja a conta de autorização junto à etiqueta Trabalhos de importação/exportação executados como.

Se o seu projeto não usar o agente de serviço do Firestore, pode migrar para o agente de serviço do Firestore usando uma destas técnicas:

A primeira destas técnicas é preferível porque localiza o âmbito do efeito num único projeto do Firestore. A segunda técnica não é preferível porque não migra as autorizações do contentor do Cloud Storage existentes. No entanto, oferece conformidade de segurança ao nível da organização.

Migre verificando e atualizando as autorizações do contentor do Cloud Storage

O processo de migração tem dois passos:

  1. Atualize as autorizações do contentor do Cloud Storage. Consulte a secção seguinte para ver detalhes.
  2. Confirme a migração para o agente do serviço Firestore.

Autorizações de contentores de agentes de serviço

Para quaisquer operações de exportação ou importação que usem um contentor do Cloud Storage noutro projeto, tem de conceder ao agente de serviço do Firestore autorizações para esse contentor. Por exemplo, as operações que movem dados para outro projeto têm de aceder a um contentor nesse outro projeto. Caso contrário, estas operações falham após a migração para o agente do serviço Firestore.

Os fluxos de trabalho de importação e exportação que permanecem no mesmo projeto não requerem alterações às autorizações. O agente de serviço do Firestore pode aceder aos contentores no mesmo projeto por predefinição.

Atualize as autorizações para contentores do Cloud Storage de outros projetos para conceder acesso ao service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com agente de serviço. Conceda ao agente do serviço a função de Firestore Service Agent.

A função Firestore Service Agent concede autorizações de leitura e escrita para um contentor do Cloud Storage. Se precisar de conceder apenas autorizações de leitura ou apenas de escrita, use uma função personalizada.

O processo de migração descrito na secção seguinte ajuda a identificar contentores do Cloud Storage que podem exigir atualizações de autorizações.

Migre um projeto para o agente de serviço do Firestore

Conclua os passos seguintes para migrar da conta de serviço do App Engine para o agente de serviço do Firestore. Uma vez concluída, a migração não pode ser revertida.

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.
  3. No menu de navegação, clique em Importar/Exportar.

  4. Se o seu projeto ainda não tiver sido migrado para o agente do serviço Firestore, é apresentada uma faixa a descrever a migração e um botão Verificar estado do contentor. O passo seguinte ajuda a identificar e corrigir potenciais erros de autorização.

    Clique em Verificar estado do contentor.

    É apresentado um menu com a opção para concluir a migração e uma lista de contentores de armazenamento na nuvem. O carregamento da lista pode demorar alguns minutos.

    Esta lista inclui contentores que foram usados recentemente em operações de importação e exportação, mas que não concedem atualmente autorizações de leitura e escrita ao agente do serviço Firestore.

  5. Tome nota do nome principal do agente de serviço do Firestore do seu projeto. O nome do agente do serviço é apresentado por baixo da etiqueta Agente do serviço ao qual conceder acesso.
  6. Para qualquer contentor na lista que vai usar para futuras operações de importação ou exportação, conclua os seguintes passos:

    1. Na linha da tabela deste conjunto, clique em Corrigir. Esta ação abre a página de autorizações desse contentor num novo separador.

    2. Clique em Adicionar.
    3. No campo Novos membros, introduza o nome do agente de serviço do Firestore.
    4. No campo Selecionar uma função, selecione Agentes de serviço > Agente de serviço do Firestore.
    5. Clique em Guardar.
    6. Regresse ao separador com a página de importação/exportação do Firestore.
    7. Repita estes passos para outros contentores na lista. Certifique-se de que vê todas as páginas da lista.
  7. Clique em Migrar para o agente do serviço do Firestore. Se ainda tiver contentores com verificações de autorizações com falhas, tem de confirmar a migração clicando em Migrar.

    É apresentado um alerta quando a migração estiver concluída. Não é possível anular a migração.

Veja o estado da migração

Para verificar o estado da migração do seu projeto:

  1. Na Google Cloud consola, aceda à página Bases de dados.

    Aceda a Bases de dados

  2. Selecione a base de dados necessária na lista de bases de dados.
  3. No menu de navegação, clique em Importar/Exportar.

  4. Procure o principal junto à etiqueta Tarefas de importação/exportação executadas como.

    Se o principal for service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com, o seu projeto já foi migrado para o agente do serviço Firestore. Não é possível anular a migração.

    Se o projeto não tiver sido migrado, é apresentada uma faixa na parte superior da página com um botão Verificar estado do contentor. Consulte o artigo Migre para o agente do serviço Firestore para concluir a migração.

Adicione uma restrição de política ao nível da organização

  • Defina a seguinte restrição na política da sua organização:

    Exija o agente do serviço do Firestore para importação/exportação (firestore.requireP4SAforImportExport).

    Esta restrição requer que as operações de importação e exportação usem o agente do serviço do Firestore para autorizar pedidos. Para definir esta restrição, consulte o artigo Criar e gerir políticas da organização .

A aplicação desta restrição de política organizacional não concede automaticamente as autorizações do bucket do Cloud Storage adequadas para o agente de serviço do Firestore.

Se a restrição criar erros de autorização para fluxos de trabalho de importação ou exportação, pode desativá-la para voltar a usar a conta de serviço predefinida. Depois de verificar e atualizar as autorizações do contentor do Cloud Storage, pode ativar novamente a restrição.