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.

Autorizações necessárias

Consola

Para concluir este guia através da Cloud de Confiance 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 Cloud de Confiance .

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

  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 o seu contentor de origem e o respetivo conteúdo.

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?