Nesta página, descrevemos como renomear e mover pastas em um bucket com 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.
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 do Google 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 que aparece, 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. Também é possível clicar em
para criar uma nova pasta antes de selecioná-la como a pasta de 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 do Google 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://hns-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 autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
APIs REST
API JSON
Ter a 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.googleapis.com/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
.
Próximas etapas
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Cloud Storage em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Faça uma avaliação gratuita do Cloud Storage