El espacio de nombres jerárquico de Cloud Storage almacena datos en una estructura de sistema de archivos lógico con carpetas para organizar los objetos. Para obtener más información, consulta Espacio de nombres jerárquico.
El Servicio de transferencia de almacenamiento puede transferir datos desde y hacia 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, al agente de servicio del Servicio de transferencia de almacenamiento se le deben otorgar los siguientes permisos de IAM.
Cuando la fuente es un bucket con espacio de nombres jerárquico, haz lo siguiente:
storage.folders.list
en el bucket de origen. Este permiso se incluye en el rol de visualizador de objetos de almacenamiento (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, haz lo siguiente:
storage.folders.create
en el bucket de destino. Este permiso se incluye en el rol de usuario de objetos de almacenamiento (roles/storage.objectUser
). Otorga este rol además de los roles que se indican en Permisos de transferencia sin agente.
Para obtener instrucciones sobre cómo agregar roles al agente de servicio, consulta los siguientes artículos:
Comportamiento de transferencia
Cuando se transfiere entre dos buckets de espacio de nombres jerárquicos, ocurre lo siguiente:
- Se transfieren los objetos y los metadatos de los objetos.
- Se transfieren las carpetas y sus metadatos.
- No se admite la eliminación de carpetas en la fuente o el destino.
Cuando se transfiere de un bucket con espacio de nombres jerárquico a un bucket con espacio de nombres plano, ocurre lo siguiente:
- Se transfieren los objetos y los metadatos de los objetos.
- Las carpetas se transfieren como prefijos de objetos. Por ejemplo,
object1
enfolderA
se transfiere al destino comofolderA/object1
. - No se transfieren los metadatos de las carpetas.
- No se admite la eliminación de carpetas en la fuente.
Cuando transfieras datos de un bucket con espacio de nombres plano a un bucket con espacio de nombres jerárquico, ten en cuenta lo siguiente:
- Se transfieren los objetos y los metadatos de los objetos.
- Los prefijos de objetos se usan para crear las carpetas que faltan. Por ejemplo, cuando se transfiere
folderA/object1
, el Servicio de transferencia de almacenamiento crea una carpeta nueva llamadafolderA
y transfiereobject1
a esa carpeta. - No se admite la eliminación de carpetas en el receptor.