En esta página, se describe cómo cambiar el nombre de las carpetas y moverlas en un bucket con el espacio de nombres jerárquico habilitado.
La operación de cambio de nombre cambia el nombre de una carpeta, sus carpetas secundarias y los recursos asociados, incluidos objetos y carpetas administradas en una única acción atómica.
La operación de cambio de nombre es atómica. La operación se completa correctamente y mueve los recursos a su nueva ruta de acceso o falla con un error. En caso de error, todos los recursos se restablecen a su estado original.
En un bucket con el espacio de nombres jerárquico habilitado, cambiar el nombre de una carpeta es operación de solo metadatos. No implica mover físicamente o copiar los objetos dentro de ella, por lo que no se generan costos de copia de objetos.
Sin embargo, en un bucket que no tiene habilitado el espacio de nombres jerárquico, las carpetas simulados. Para cambiar el nombre de una carpeta simulada o moverla, debes copiar y borrar cada objeto que contenga. Si la 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, tu bucket podría quedar en un estado de incoherencia y solo se moverán algunos objetos.
Durante el proceso de cambio de nombre de la carpeta, puedes leer y enumerar los recursos a los que se les cambiará el nombre. Sin embargo, no puedes ejecutar operaciones de escritura en los recursos afectados.
La operación para cambiar el nombre de la carpeta inicia una operación de larga duración en un bucket.
Roles obligatorios
Para obtener los permisos necesarios para cambiar el nombre de las carpetas en los buckets o moverlas, pídele a tu administrador que te otorgue el rol de usuario de objeto (roles/storage.objectUser
) de IAM en el bucket.
Para obtener información sobre cómo otorgar roles en proyectos, consulta Administra el acceso a los proyectos.
Para ver los permisos exactos que son necesarios, expande la sección Permisos necesarios:
Permisos necesarios
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. Para un rol más permisivo que te permita administrar carpetas además de cambiar el nombre de las carpetas, pídele a tu administrador que te otorgue uno de los siguientes roles:
- Administrador de carpetas de almacenamiento (
roles/storage.folderAdmin
) - Administrador de objetos de almacenamiento (
roles/storage.objectAdmin
) - Administrador de almacenamiento (
roles/storage.admin
)
Para ver qué roles están asociados con qué permisos, consulta Roles de IAM para Cloud Storage.
Cambia el nombre de una carpeta y moverla
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket que contiene la carpeta a la que deseas cambiarle el nombre o moverla.
En la página Detalles del bucket, busca la carpeta que quieres mover o a la que quieres cambiarle el nombre.
Si quieres cambiarle el nombre, haz lo siguiente:
Haz clic en el menú
Más acciones de la carpeta.Haz clic en Cambiar nombre de la carpeta.
En la ventana de superposición que aparece, ingresa un nuevo nombre para la carpeta.
Haga 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 de superposición que aparece, haz clic en Explorar.
Selecciona la carpeta de destino para la carpeta que quieres mover. También puedes hacer clic en
para crear una carpeta nueva antes de seleccionarla como carpeta de destino.Haz clic en Seleccionar.
Haz clic en Mover.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
Para cambiar el nombre de las carpetas o moverlas dentro de un bucket con espacio de nombres jerárquico, ejecuta el comando gcloud storage mv
:
gcloud storage mv gs://BUCKET_NAME/FOLDER1 gs://BUCKET_NAME/FOLDER2
Aquí:
BUCKET_NAME
es el nombre del bucket que contiene la carpeta a la que deseas cambiarle el nombre o moverla. Por ejemplo,my-bucket
FOLDER1
es el nombre de la carpeta original a la que deseas cambiarle el nombre o moverla. Por ejemplo,my-src-folder
FOLDER2
es el nombre nuevo de la carpeta de destino. Por ejemplo,my-dest-folder
Si una carpeta existente ya usa el nuevo nombre que elegiste, la carpeta original se moverá dentro de la carpeta existente y se convertirá en una carpeta secundaria. 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 nombre nuevo que eliges aún no existe, se modificará el nombre de la carpeta original para que coincida con el nuevo.
La respuesta se ve como el siguiente ejemplo:
Copying gs://my-bucket/my-src-folder to gs://hns-bucket/my-dest-folder...
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de 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 bucket que contiene la carpeta a la que deseas cambiarle el nombre o moverla. Por ejemplo,my-bucket
SOURCE_PATH
es la ruta de acceso codificada como URL de la carpeta de origen. Por ejemplo,my-src-folder/
, codificado en URL comomy-src-folder%2F
.DESTINATION_PATH
es la ruta de acceso codificada como URL de la carpeta de destino. Por ejemplo,my-dest-folder/
, codificado en URL comomy-dest-folder%2F
.
Próximos pasos
- Crea y administra carpetas.
- Usa el espacio de nombres jerárquico para las cargas de trabajo de Hadoop.
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Storage en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar Cloud Storage gratis