En esta página se describe cómo cambiar el nombre y mover carpetas en un contenedor con el espacio de nombres jerárquico habilitado.
La operación de cambio de nombre cambia de forma recursiva el nombre de una carpeta, sus subcarpetas y los recursos asociados, incluidos los objetos y las carpetas gestionadas, en una sola acción atómica.
La operación de cambio de nombre es atómica. La operación se completa correctamente y los recursos se mueven a su nueva ruta, o bien se produce un error. En caso de error, todos los recursos se restauran a su estado original.
En un contenedor con el espacio de nombres jerárquico habilitado, cambiar el nombre de una carpeta es una operación que solo afecta a los metadatos. No implica mover ni copiar físicamente los objetos de la carpeta, por lo que no se incurre en ningún coste de copia de objetos.
Sin embargo, en un segmento sin el espacio de nombres jerárquico habilitado, las carpetas se simulan. Para cambiar el nombre o mover una carpeta simulada, debes copiar y eliminar cada objeto que contenga. Si tu carpeta contiene muchos objetos, el proceso de cambio de nombre puede ser ineficiente y costoso. Cambiar el nombre o mover una carpeta simulada tampoco es atómico, lo que significa que, si el proceso falla, el contenedor puede quedar en un estado incoherente, con solo algunos objetos movidos.
Durante el proceso de cambio de nombre de la carpeta, puedes leer y enumerar los recursos cuyo nombre se va a cambiar. Sin embargo, no puedes ejecutar operaciones de escritura en los recursos afectados.
La operación de cambio de nombre de la carpeta inicia una operación de larga duración en un cubo.
Antes de empezar
Asegúrate de que el espacio de nombres jerárquico esté habilitado en tu segmento. Para obtener instrucciones detalladas sobre cómo habilitar el espacio de nombres jerárquico en un segmento, consulta Crear segmentos con el espacio de nombres jerárquico habilitado.
Roles obligatorios
Para obtener los permisos necesarios para cambiar el nombre o mover carpetas en los segmentos, pide a tu administrador que te conceda el rol de gestión de identidades y accesos de usuario de objetos de almacenamiento (roles/storage.objectUser
) en el segmento.
Para obtener más información sobre cómo conceder roles en proyectos, consulta el artículo Gestionar el acceso a proyectos.
Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
storage.folders.rename
- Este permiso es necesario en la carpeta de origen.
storage.folders.create
- Este permiso es necesario en la carpeta de destino.
También puedes obtener los permisos anteriores con otros roles personalizados o roles predefinidos. Si quieres tener un rol con más permisos que te permita gestionar carpetas además de cambiarles el nombre, pide a tu administrador que te asigne uno de los siguientes roles:
- Administrador de carpetas de almacenamiento (
roles/storage.folderAdmin
) - Administrador de objetos de Storage (
roles/storage.objectAdmin
) - Administrador de almacenamiento (
roles/storage.admin
)
Para ver qué roles están asociados a qué permisos, consulta Roles de gestión de identidades y accesos para Cloud Storage.
Cambiar el nombre y mover una carpeta
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento que contiene la carpeta que quiere mover o cambiar de nombre.
En la página Detalles del segmento, busca la carpeta que quieras mover o cambiar de nombre.
Si quieres cambiar el nombre de la carpeta, sigue estos pasos:
Haz clic en el menú
Más acciones de la carpeta.Haz clic en Cambiar nombre de la carpeta.
En la ventana superpuesta que aparece, escribe un nuevo nombre para la carpeta.
Haz clic en Cambiar nombre.
Si quieres mover la carpeta a otra, haz lo siguiente:
Haz clic en el menú
Más acciones de la carpeta.Haz clic en Mover carpeta.
En la ventana superpuesta que aparece, haz clic en Buscar.
Selecciona la carpeta de destino de la carpeta que vas a mover. También puedes hacer clic en
para crear una carpeta antes de seleccionarla como carpeta de destino.Haz clic en Seleccionar.
Haz clic en Mover.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
Línea de comandos
Para cambiar el nombre o mover carpetas dentro de un contenedor con un espacio de nombres jerárquico, ejecuta el comando gcloud storage mv
:
gcloud storage mv gs://BUCKET_NAME/FOLDER1 gs://BUCKET_NAME/FOLDER2
Donde:
BUCKET_NAME
es el nombre del segmento que contiene la carpeta a la que quieres cambiar el nombre o mover. Por ejemplo,my-bucket
.FOLDER1
es el nombre de la carpeta original a la que quieres cambiar el nombre o mover. Por ejemplo,my-src-folder
.FOLDER2
es el nuevo nombre de la carpeta de destino. Por ejemplo,my-dest-folder
. Si el nuevo nombre que elijas ya lo usa otra carpeta, la carpeta original se moverá a la carpeta que ya existía y se convertirá en una subcarpeta. Por ejemplo, si cambias el nombre demy-dest-folder
amy-dest-folder1
(ymy-dest-folder1
ya existe), el resultado esmy-dest-folder1/my-dest-folder/
. Si el nuevo nombre que elijas no existe, se cambiará el nombre de la carpeta original por el nuevo.
La respuesta tiene este aspecto:
Copying gs://my-bucket/my-src-folder to gs://my-bucket/my-dest-folder...
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API JSON con una solicitud para cambiar el nombre de las carpetas: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"
Donde:
BUCKET_NAME
es el nombre del segmento que contiene la carpeta cuyo nombre quieres cambiar o que quieres mover. Por ejemplo,my-bucket
.SOURCE_PATH
es la ruta codificada como URL de la carpeta de origen. Por ejemplo,my-src-folder/
codificado como URL esmy-src-folder%2F
.DESTINATION_PATH
es la ruta codificada mediante URL de la carpeta de destino. Por ejemplo,my-dest-folder/
codificado como URL esmy-dest-folder%2F
.
Pasos siguientes
- Crea y gestiona carpetas.
- Usa el espacio de nombres jerárquico para las cargas de trabajo de Hadoop.
Pruébalo
Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Storage en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.
Probar Cloud Storage gratis