Mova dados entre contentores

Esta página descreve como mover o conteúdo de um contentor copiando objetos de um contentor de origem para um contentor de destino.

Vista geral

Quando cria um contentor, algumas das propriedades que define são permanentes e não podem ser alteradas, incluindo o nome do contentor e o respetivo projeto principal.

Se quiser usar um novo nome para o seu contentor, pode fazê-lo efetivamente criando um novo contentor com o nome que quer usar e, em seguida, copiando os objetos do contentor antigo para o novo. Em seguida, pode eliminar o contentor antigo. Tenha em conta o seguinte:

  • Quando elimina um contentor, pode reutilizar o nome do contentor.

  • Se o seu objetivo principal ao mover objetos de um contentor para outro for armazenar os seus dados numa localização do contentor diferente, recomendamos que relocalize diretamente o contentor.

  • A movimentação de dados entre localizações incorre em custos de utilização da rede. Além disso, a movimentação de dados pode incorrer em cobranças adicionais, consoante as classes de armazenamento dos dados de origem e a localização do contentor de destino. Para mais informações, consulte os preços do Cloud Storage.

Autorizações necessárias

Consola

Para concluir este guia através da Google Cloud consola, tem de ter as autorizações de IAM adequadas. Se os contentores aos quais quer aceder existirem num projeto que não criou, pode precisar que o proprietário do projeto lhe atribua uma função que contenha as autorizações necessárias.

Para ver uma lista das autorizações necessárias para ações específicas, consulte as autorizações IAM para a consola Google Cloud .

Para ver uma lista de funções relevantes, consulte o artigo Funções do Cloud Storage. Em alternativa, pode criar uma função personalizada com autorizações específicas e limitadas.

Linha de comandos

Para concluir este guia com uma utilidade de linha de comandos, tem de ter as autorizações de IAM adequadas. Se os contentores aos quais quer aceder existirem num projeto que não criou, pode precisar que o proprietário do projeto lhe atribua uma função que contenha as autorizações necessárias.

Para ver uma lista das autorizações necessárias para ações específicas, consulte as autorizações da IAM para comandos gcloud storage.

Para ver uma lista de funções relevantes, consulte o artigo Funções do Cloud Storage. Em alternativa, pode criar uma função personalizada com autorizações específicas e limitadas.

APIs REST

API JSON

Para concluir este guia com a API JSON, tem de ter as autorizações do IAM adequadas. Se os contentores aos quais quer aceder existirem num projeto que não criou, pode precisar que o proprietário do projeto lhe atribua uma função que contenha as autorizações necessárias.

Para ver uma lista das autorizações necessárias para ações específicas, consulte as autorizações de IAM para métodos JSON.

Para ver uma lista de funções relevantes, consulte o artigo Funções do Cloud Storage. Em alternativa, pode criar uma função personalizada com autorizações específicas e limitadas.

Mova dados de um contentor para outro

Consola

Use o Serviço de transferência de armazenamento a partir da Google Cloud consola:

  1. Se ainda não tiver um contentor de destino, crie o contentor.
  2. Abra a página de transferência na Google Cloud consola.

    Abra a página Transferir

  3. Clique em Criar tarefa de transferência.
  4. Siga as instruções passo a passo e clique em Passo seguinte à medida que conclui cada passo:

    • Escolha uma origem: use o contentor do Google Cloud Storage como tipo de origem e introduza diretamente o nome do contentor pretendido ou clique em Procurar para encontrar e selecionar o contentor que quer.

    • Escolha um destino: introduza diretamente o nome do contentor pretendido ou clique em Procurar para encontrar e selecionar o contentor pretendido.

    • Escolha as definições: selecione a opção Eliminar ficheiros da origem após a transferência.

    • Opções de agendamento: pode ignorar esta secção.

  5. Depois de concluir o passo a passo, clique em Criar.

    Isto inicia o processo de cópia de objetos do seu contentor antigo para o novo. Este processo pode demorar algum tempo. No entanto, depois de clicar em Criar, pode sair da Google Cloud consola.

    Para ver o progresso da transferência:

    Abra a página de transferência na Google Cloud consola.

    Abra a página Transferir

    Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Google Cloud consola, consulte a secção Resolução de problemas.

  6. Quando a transferência estiver concluída, não tem de fazer nada para eliminar os objetos do seu contentor antigo se tiver selecionado a caixa de verificação Eliminar objetos de origem após a conclusão da transferência durante a configuração. No entanto, pode querer eliminar o seu antigo contentor, o que tem de fazer separadamente.

Linha de comandos

  1. Se ainda não tiver um, crie um contentor de destino.

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

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

    Onde:

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

    • DESTINATION_BUCKET é o nome do contentor para o qual está a mover os seus dados. Por exemplo, my-bucket.

    Se o seu contentor usar pastas geridas e um espaço de nomes simples, tem de incluir a flag --include-managed-folders no comando para que as pastas geridas sejam copiadas.

  3. Para eliminar recorrentemente o conteúdo do contentor de origem, juntamente com o próprio contentor de origem, use o comando gcloud storage rm com a opção --recursive:

    gcloud storage rm --recursive gs://SOURCE_BUCKET

    Onde SOURCE_BUCKET é o nome do seu contentor original. Por exemplo, old-bucket.

    Em alternativa, para eliminar o conteúdo do contentor de origem sem eliminar o próprio contentor de origem, use o comando gcloud storage rm com a flag --all-versions e o caráter universal **:

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

    Onde SOURCE_BUCKET é o nome do seu contentor original. Por exemplo, old-bucket.

APIs REST

API JSON

  1. Se ainda não tiver um contentor de destino, crie o contentor.

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

  3. Elimine cada objeto no seu contentor de origem.

  4. Eliminar o contentor de origem.

API XML

  1. Se ainda não tiver um contentor de destino, crie o contentor.

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

  3. Elimine cada objeto no seu contentor de origem.

  4. Eliminar o contentor de origem.

O que se segue?