Mover dados entre buckets

Nesta página, descrevemos como mover o conteúdo de um bucket copiando objetos de um bucket de origem para um de destino.

Visão geral

Ao criar um bucket, algumas das propriedades definidas são permanentes e não podem ser alteradas, incluindo o nome e o projeto principal.

Se quiser usar um novo nome para o bucket, faça isso criando um novo bucket com o nome que você quer usar e copiando os objetos do bucket antigo para o novo. Em seguida, exclua o bucket antigo. Observe o seguinte:

  • Quando você exclui um bucket, o nome dele pode ser reutilizado.

  • Se o objetivo principal de mover objetos de um bucket para outro for armazenar seus dados em um local de bucket diferente, recomendamos realocar diretamente o bucket.

Permissões necessárias

Console

Para concluir este guia usando o consoleCloud de Confiance , é preciso ter as permissões de IAM adequadas. Se os buckets que você quer acessar existirem em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.

Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para o console Cloud de Confiance .

Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.

Linha de comando

Para concluir este guia usando um utilitário de linha de comando, você precisa ter as permissões de IAM adequadas. Se os buckets que você quer acessar existirem em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.

Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para comandos gcloud storage.

Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.

APIs REST

API JSON

Para concluir este guia usando a API JSON, é preciso ter as permissões do IAM adequadas. Se os buckets que você quer acessar existirem em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.

Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para métodos JSON.

Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.

Mover dados de um bucket para outro

Console

  1. Se você ainda não tiver um bucket de destino, crie o bucket.

  2. Copie cada objeto do bucket de origem para o bucket de destino.

  3. Exclua o bucket de origem e o conteúdo dele.

Linha de comando

  1. Crie um bucket de destino se você ainda não tiver um.

  2. Para copiar recursivamente o conteúdo do bucket de origem para o de destino, use o comando gcloud storage cp com a opção --recursive:

    gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

    Em que:

    • SOURCE_BUCKET é o nome do bucket original. Por exemplo, old-bucket.

    • DESTINATION_BUCKET é o nome do bucket para o qual você está movendo os dados. Por exemplo, my-bucket.

    Se o bucket usar pastas gerenciadas e um namespace simples, inclua a flag --include-managed-folders no comando para que as pastas gerenciadas sejam copiadas.

  3. Para excluir recursivamente o conteúdo do bucket de origem, junto com o próprio bucket de origem, use o comando gcloud storage rm com a opção --recursive:

    gcloud storage rm --recursive gs://SOURCE_BUCKET

    Em que SOURCE_BUCKET é o nome do bucket original. Por exemplo, old-bucket.

    Como alternativa, para excluir o conteúdo do bucket de origem sem excluir o próprio bucket, use o comando gcloud storage rm com a flag --all-versions e o caractere curinga **:

    gcloud storage rm --all-versions gs://SOURCE_BUCKET/**

    Em que SOURCE_BUCKET é o nome do bucket original. Por exemplo, old-bucket.

APIs REST

API JSON

  1. Se você ainda não tiver um bucket de destino, crie o bucket.

  2. Copie cada objeto do bucket de origem para o bucket de destino.

  3. Exclua cada objeto no bucket de origem.

  4. Exclua o bucket de origem.

API XML

  1. Se você ainda não tiver um bucket de destino, crie o bucket.

  2. Copie cada objeto do bucket de origem para o bucket de destino.

  3. Exclua cada objeto no bucket de origem.

  4. Exclua o bucket de origem.

A seguir