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.
A movimentação de dados entre locais incorre em custos de uso da rede. Além disso, a movimentação de dados pode gerar cobranças adicionais, dependendo das classes de armazenamento dos dados de origem e do local do bucket de destino. Para mais informações, consulte Preços do Cloud Storage.
Permissões necessárias
Console
Para concluir este guia usando o consoleGoogle Cloud , é 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 Google Cloud .
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
Use o Serviço de transferência do Cloud Storage no console do Google Cloud :
- Se você ainda não tiver um bucket de destino, crie o bucket.
Abra a página "Transferir" no console do Google Cloud .
- Clique em Criar job de transferência.
Siga as instruções detalhadas e clique em Próxima etapa ao concluir cada etapa:
Escolha uma origem: use o bucket do Google Cloud Storage como o tipo de origem e insira o nome do bucket desejado diretamente ou clique em Procurar para encontrar. e selecione o bucket que você quer.
Escolha um destino: insira diretamente o nome do bucket pretendido ou clique em Procurar para localizar e selecionar o bucket desejado.
Escolha as configurações: selecione a opção Excluir arquivos da origem após a transferência.
Opções de programação: ignore esta seção.
Depois de concluir as instruções, clique em Criar.
Isso inicia o processo de cópia dos objetos do bucket antigo para o novo. Esse processo pode levar algum tempo. No entanto, depois de clicar em Criar, será possível sair do console Google Cloud .
Para ver o andamento da transferência:
Abra a página "Transferir" no console do Google Cloud .
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console Google Cloud , consulte Solução de problemas.
Após a conclusão da transferência, não será necessário fazer nada para excluir os objetos do bucket antigo se a caixa de seleção Excluir objetos de origem após a conclusão da transferência estiver selecionada durante a configuração. No entanto, você também pode excluir o bucket antigo, o que precisa ser feito separadamente.
Linha de comando
Crie um bucket de destino se você ainda não tiver um.
Para copiar recursivamente o conteúdo do bucket de origem para o de destino, use o comando
gcloud storage cpcom 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-foldersno comando para que as pastas gerenciadas sejam copiadas.Para excluir recursivamente o conteúdo do bucket de origem, junto com o próprio bucket de origem, use o comando
gcloud storage rmcom 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 rmcom a flag--all-versionse 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
Se você ainda não tiver um bucket de destino, crie o bucket.
Copie cada objeto do bucket de origem para o bucket de destino.
Exclua cada objeto no bucket de origem.
API XML
Se você ainda não tiver um bucket de destino, crie o bucket.
Copie cada objeto do bucket de origem para o bucket de destino.
Exclua cada objeto no bucket de origem.
A seguir
Saiba mais sobre os locais disponíveis para buckets e as diretrizes de nomenclatura de buckets.
Saiba mais sobre como criar e gerenciar transferências de dados com o console Google Cloud .