Nesta página, mostramos como copiar, renomear e mover objetos dentro e entre buckets no Cloud Storage. Para uma visão geral dos objetos, leia os Termos-chave e consulte os Requisitos de nomeação de objetos.
Como copiar um objeto
Para copiar um objeto em um intervalo do Cloud Storage:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abra o navegador do Cloud Storage Na lista de buckets, clique no nome do bucket que contém o objeto que você quer copiar.
A página Detalhes do bucket será aberta, com a guia Objetos selecionada.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no menu mais ações (
) associado ao objeto.
Clique em Copiar.
O painel Copiar objeto é exibido.
Na caixa de texto Destino, digite o nome do bucket de destino e o nome do objeto copiado.
Se preferir, clique em Procurar para selecionar o destino. No entanto, as opções de navegação são limitadas aos buckets no projeto atual.
Clique em Copiar.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use o comando gsutil cp
:
gsutil cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/NAME_OF_COPY
Em que:
SOURCE_BUCKET_NAME
é o nome do bucket que contém o objeto que você quer copiar. Por exemplo,my-bucket
.SOURCE_OBJECT_NAME
é o nome do objeto que você quer copiar. Por exemplo,pets/dog.png
.DESTINATION_BUCKET_NAME
é o nome do bucket para o qual você quer copiar seu objeto. Por exemplo,another-bucket
.NAME_OF_COPY
é o nome que você quer dar à cópia do seu objeto. Por exemplo,shiba.png
.
Se a operação for bem-sucedida, a resposta será parecida com esta:
Operation completed over 1 objects/58.8 KiB.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API JSON com uma solicitação de objetoPOST
:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Length: 0" \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/NAME_OF_COPY"
Em que:
OAUTH2_TOKEN
é o nome do token de acesso que você gerou na etapa 1.SOURCE_BUCKET_NAME
é o nome do bucket que contém o objeto que você quer copiar. Por exemplo,my-bucket
.SOURCE_OBJECT_NAME
é o nome do objeto que você quer copiar. Por exemplo,pets/dog.png
.DESTINATION_BUCKET_NAME
é o nome do bucket para o qual você quer copiar seu objeto. Por exemplo,another-bucket
.NAME_OF_COPY
é o nome que você quer dar à cópia do seu objeto. Por exemplo,shiba.png
.
Como o método
rewrite
copia dados em blocos de tamanho limitado, sua cópia pode exigir várias solicitações, especialmente para objetos grandes.Por exemplo, a resposta a seguir para uma solicitação
rewrite
indica que você precisa fazer outras solicitaçõesrewrite
:{ "kind": "storage#rewriteResponse", "totalBytesRewritten": 1048576, "objectSize": 10000000000, "done": false, "rewriteToken": TOKEN_VALUE }
Use o
rewriteToken
em uma solicitação subsequente para continuar copiando dados:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Length: 0" \ -d '{"rewriteToken": "TOKEN_VALUE"}' \ "https://storage.googleapis.com/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/NAME_OF_COPY"
Em que:
TOKEN_VALUE
é o valor derewriteToken
retornado na solicitação anterior.- Todos os outros valores correspondem aos usados na solicitação anterior.
Quando o objeto é totalmente copiado, a última resposta tem uma propriedade
done
definida comotrue
, não há propriedaderewriteToken
e os metadados da cópia são incluídos na propriedaderesource
.{ "kind": "storage#rewriteResponse", "totalBytesRewritten": 10000000000, "objectSize": 10000000000, "done": true, "resource": objects Resource }
API XML
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
(em inglês) para chamar a API XML com uma solicitação de objetoPUT
:curl -X PUT \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-copy-source: SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME" \ "https://storage.googleapis.com/DESTINATION_BUCKET_NAME/NAME_OF_COPY"
Em que:
OAUTH2_TOKEN
é o nome do token de acesso que você gerou na etapa 1.SOURCE_BUCKET_NAME
é o nome do bucket que contém o objeto que você quer copiar. Por exemplo,my-bucket
.SOURCE_OBJECT_NAME
é o nome do objeto que você quer copiar. Por exemplo,pets/dog.png
.DESTINATION_BUCKET_NAME
é o nome do bucket para o qual você quer copiar seu objeto. Por exemplo,another-bucket
.NAME_OF_COPY
é o nome que você quer dar à cópia do seu objeto. Por exemplo,shiba.png
.
Como renomear um objeto
Para renomear um objeto existente em um dos seus buckets do Cloud Storage, faça o seguinte:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abra o navegador do Cloud Storage Na lista de buckets, clique no nome do bucket que contém o objeto que você quer renomear.
A página Detalhes do bucket será aberta, com a guia Objetos selecionada.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no menu mais ações (
) associado ao objeto.
Clique em Renomear.
Na janela de sobreposição, insira um novo nome para o objeto.
Clique em Renomear.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use o comando gsutil mv
:
gsutil mv gs://BUCKET_NAME/OLD_OBJECT_NAME gs://BUCKET_NAME/NEW_OBJECT_NAME
Em que:
BUCKET_NAME
é o nome do bucket que contém o objeto que você quer renomear. Por exemplo,my-bucket
.OLD_OBJECT_NAME
é o nome do objeto que você quer renomear. Por exemplo,pets/dog.png
.NEW_OBJECT_NAME
é o novo nome que você quer dar ao seu objeto. Por exemplo,pets/shiba.png
.
Se a operação for bem-sucedida, a resposta será parecida com esta:
Operation completed over 1 objects/58.8 KiB.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
Para renomear um objeto usando a API JSON diretamente, primeiro faça uma cópia do objeto, dê a ela o novo nome desejado e exclua o objeto original:
API XML
Para renomear um objeto usando a API XML diretamente, primeiro faça uma cópia do objeto, dê a ela o novo nome desejado e exclua o objeto original:
Como mover um objeto
Para mover um objeto no Cloud Storage, faça o seguinte:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abra o navegador do Cloud Storage Na lista de buckets, clique no nome do bucket que contém o objeto que você quer mover.
A página Detalhes do bucket será aberta, com a guia Objetos selecionada.
Navegue até o objeto, que pode estar localizado em uma pasta.
Clique no menu mais ações (
) associado ao objeto.
Clique em Mover.
Na janela de sobreposição que aparece, clique em Procurar.
Selecione o destino do objeto que você está movendo.
Clique em Selecionar.
Clique em Mover.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use o comando gsutil mv
:
gsutil mv gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME
Em que:
SOURCE_BUCKET_NAME
é o nome do bucket que contém o objeto que você quer mover. Por exemplo,my-bucket
.SOURCE_OBJECT_NAME
é o nome do objeto que você quer mover. Por exemplo,pets/dog.png
.DESTINATION_BUCKET_NAME
é o nome do bucket para o qual você quer mover seu objeto. Por exemplo,another-bucket
.DESTINATION_OBJECT_NAME
é o nome que você quer dar ao objeto no novo local. Por exemplo,shiba.png
.
Se a operação for bem-sucedida, a resposta será parecida com esta:
Operation completed over 1 objects/58.8 KiB.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
Para mover um objeto usando a API JSON diretamente, primeiro faça uma cópia do objeto no novo local desejado e depois exclua o objeto original.
API XML
Para mover um objeto usando a API XML diretamente, primeiro faça uma cópia do objeto no novo local desejado e depois exclua o objeto original.
A seguir
- Altere a classe de armazenamento de um objeto.
- Edite os metadados de um objeto.
- Torne objetos e buckets acessíveis publicamente.