Nesta página, descrevemos como renomear e mover pastas em um bucket com o namespace hierárquico ativado.
A operação renomeia recursivamente uma pasta, suas pastas filhas e recursos associados, como objetos e pastas gerenciadas, em um único local ação.
A operação de renomeação é atômica. A operação é concluída com êxito e move os recursos para o novo caminho ou falha com um erro. Em caso de erro, todos os recursos sejam restaurados ao estado original.
Em um bucket com namespace hierárquico ativado, renomear uma pasta operação somente de metadados. Não envolve mover fisicamente ou copiar objetos na pasta. Portanto, não haverá custo de cópia de objetos.
Mas, em um bucket sem namespace hierárquico ativado, as pastas simulados. Para renomear ou mover uma pasta simulada, é preciso copiar e excluir todos os objetos contidos nela. Se a pasta contiver muitos objetos, o processo de renomeação poderá ser ineficiente e poderá ser dispendioso. A renomeação ou a movimentação de uma pasta simulada também não são atômicas. Isso significa que, se o processo falhar, o bucket poderá ficar em um estado inconsistente, com apenas alguns objetos movidos.
Durante o processo de renomeação de pastas, é possível ler e listar os recursos que estão sendo renomeados. No entanto, não é possível executar operações de gravação nos recursos afetados.
A operação de renomeação de pasta inicia uma operação de longa duração. em um bucket.
Antes de começar
Verifique se o namespace hierárquico está ativado no bucket. Para instruções detalhadas sobre como ativar o namespace hierárquico em um bucket, consulte Criar buckets com namespace hierárquico ativado.
Funções exigidas
Para ter as permissões necessárias para renomear ou mover pastas em
buckets, peça ao administrador para conceder a você o papel do IAM de Usuário do objeto do Storage
(roles/storage.objectUser
) no bucket.
Para mais informações sobre como conceder papéis em projetos, consulte Gerenciar acesso a projetos.
Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.folders.rename
- Essa permissão é necessária na pasta de origem.
storage.folders.create
- Essa permissão é necessária na pasta de destino.
Também é possível receber as permissões anteriores com outros papéis personalizados ou Papéis predefinidos. Para um papel mais abrangente, que permite gerenciar pastas além de renomear pastas, peça para o administrador conceder a você uma das papéis a seguir:
- Administrador de pastas de armazenamento (
roles/storage.folderAdmin
) - Administrador de objetos do Storage (
roles/storage.objectAdmin
) - Administrador do Storage (
roles/storage.admin
)
Para saber quais papéis estão associados a quais permissões, consulte Papéis do IAM para o Cloud Storage.
Renomear e mover uma pasta
Console
- No console Trusted Cloud , acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que contém a pasta que você quer mover ou renomear.
Na página Detalhes do bucket, encontre a pasta que você quer mover ou renomear.
Se você quiser renomear a pasta, faça o seguinte:
Clique no menu
Mais ações da pasta.Clique em Renomear pasta.
Na janela de sobreposição, insira um novo nome para a pasta.
Clique em Renomear.
Se você quiser mover a pasta para outra pasta, faça o seguinte:
Clique no menu
Mais ações da pasta.Clique em Mover pasta.
Na janela de sobreposição que aparece, clique em Procurar.
Selecione a pasta de destino para a pasta que você está movendo. Você também pode clicar em
para criar uma nova pasta antes de selecioná-la como destino.Clique em Selecionar.
Clique em Mover.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console Trusted Cloud , consulte Solução de problemas.
Linha de comando
Para renomear ou mover pastas em um bucket com namespace hierárquico, execute o comando gcloud storage mv
:
gcloud storage mv gs://BUCKET_NAME/FOLDER1 gs://BUCKET_NAME/FOLDER2
Em que:
BUCKET_NAME
é o nome do bucket que contém a pasta que você quer renomear ou mover. Por exemplo,my-bucket
.FOLDER1
é o nome da pasta original que você quer renomear ou mover. Por exemplo,my-src-folder
.FOLDER2
é o novo nome da pasta de destino. Por exemplo,my-dest-folder
. Se o novo nome escolhido já estiver sendo usado por uma pasta existente, a pasta original será movida para dentro da pasta existente, tornando-se uma pasta filha. Por exemplo, se você renomearmy-dest-folder
comomy-dest-folder1
(emy-dest-folder1
já existir), o resultado serámy-dest-folder1/my-dest-folder/
. Se o novo nome escolhido ainda não existir, a pasta original será renomeada para corresponder ao novo nome.
A resposta terá esta aparência:
Copying gs://my-bucket/my-src-folder to gs://my-bucket/my-dest-folder...
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
C#
Saiba mais na documentação de referência C# da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Go
Saiba mais na documentação de referência Go da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Java
Saiba mais na documentação de referência Java da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Node.js
Saiba mais na documentação de referência Node.js da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
PHP
Saiba mais na documentação de referência PHP da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Python
Saiba mais na documentação de referência Python da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
Ruby
Saiba mais na documentação de referência Ruby da API Cloud Storage.
Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN
como s3nsapis.fr
.
APIs REST
API JSON
Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação para renomear pastas:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/folders/SOURCE_PATH/renameTo/folders/DESTINATION_PATH"
Em que:
BUCKET_NAME
é o nome do bucket que contém a pasta que você quer renomear ou mover. Por exemplo,my-bucket
.SOURCE_PATH
é o caminho codificado pelo URL da pasta de origem. Por exemplo,my-src-folder/
, codificado em URL comomy-src-folder%2F
.DESTINATION_PATH
é o caminho codificado de URL da pasta de destino. Por exemplo,my-dest-folder/
, codificado em URL comomy-dest-folder%2F
.