El espacio de nombres jerárquico de Cloud Storage almacena datos en una estructura lógica del sistema de archivos, con carpetas para organizar objetos. Para obtener más información, consulta Espacio de nombres jerárquico.
El Servicio de transferencia de almacenamiento puede transferir datos hacia y desde buckets de Cloud Storage que usan espacio de nombres jerárquico. Para transferir correctamente las carpetas y los metadatos de las carpetas, se deben otorgar permisos adicionales al agente de servicio del Servicio de transferencia de almacenamiento.
Permisos necesarios
Además de los permisos estándar necesarios para una transferencia, se deben otorgar los siguientes permisos de IAM al agente de servicio del Servicio de transferencia de almacenamiento.
Cuando la fuente es un bucket con espacio de nombres jerárquico, sucede lo siguiente:
storage.folders.listen el bucket de origen Este permiso se incluye en el rol de visualizador de objetos de Storage (roles/storage.objectViewer) que es obligatorio para todas las transferencias. No se requiere ningún rol adicional.
Cuando el destino es un bucket con espacio de nombres jerárquico, sucede lo siguiente:
storage.folders.createen el bucket de destino Este permiso se incluye en el rol de usuario de objetos de Storage (roles/storage.objectUser). Otorga este rol además de los roles que se enumeran en Permisos de transferencia sin agente.
Para obtener instrucciones sobre cómo agregar roles al agente de servicio, consulta los siguientes recursos:
Comportamiento de transferencia
Cuando se realiza una transferencia entre dos buckets con espacio de nombres jerárquico, sucede lo siguiente:
- Se transfieren los objetos y sus metadatos.
- Se transfieren las carpetas y sus metadatos.
- No se admite la eliminación de carpetas en la fuente o el receptor.
Cuando se realiza la transferencia de un bucket con espacio de nombres jerárquico a un bucket con espacio de nombres plano, sucede lo siguiente:
- Se transfieren los objetos y sus metadatos.
- Las carpetas se transfieren como prefijos de objetos. Por ejemplo,
object1enfolderAse transfiere al destino comofolderA/object1. - No se transfieren los metadatos de la carpeta.
- No se admite la eliminación de carpetas en la fuente.
Cuando transfieres datos de un bucket con espacio de nombres plano a un bucket con espacio de nombres jerárquico, sucede lo siguiente:
- Se transfieren los objetos y sus metadatos.
- Los prefijos de objetos se usan para crear las carpetas faltantes. Por ejemplo, cuando se transfiere
folderA/object1, el Servicio de transferencia de almacenamiento crea una carpeta nueva llamadafolderAy transfiereobject1a esa carpeta. - No se admite la eliminación de carpetas en el receptor.