Nesta página, descrevemos como renomear pastas em um bucket com e 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.
Funções exigidas
Para ter as permissões necessárias para renomear pastas em buckets, peça ao administrador para conceder a você o espaço de armazenamento
Papel do IAM de Usuário do objeto (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 uma pasta
Linha de comando
Para renomear pastas em um bucket com namespace hierárquico, execute o comando seguinte comando:
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. Por exemplo,my-bucket
.FOLDER1
é o nome da pasta original que você quer renomear. 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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
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, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um 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. 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