Conservación de metadatos

En este documento, se describen los metadatos que se conservan cuando usas el Servicio de transferencia de almacenamiento y el Servicio de transferencia para datos locales a fin de transferir datos a Cloud Storage.

Descripción general

El Servicio de transferencia de almacenamiento y la Transferencia de datos locales conservan los siguientes metadatos durante una transferencia a Cloud Storage:

  • Metadatos personalizados creados por el usuario para las transferencias que se originan en Cloud Storage, Amazon Simple Storage Service (Amazon S3) o Microsoft Azure Blob Storage (Microsoft Azure Storage).

  • Las transferencias entre depósitos de Cloud Storage pueden preservar de manera opcional las LCA de objetos, las claves de encriptación administradas por el cliente, la clase de almacenamiento, el momento de creación del objeto (como el valor de un campo customTime) y las conservaciones temporales. La clase de almacenamiento del objeto en el bucket de destino se puede configurar en cualquier clase compatible como parte de la transferencia.

  • Tamaño del archivo y hora de la última modificación (mtime) para las transferencias que se originan en sistemas de archivos POSIX.

  • De manera opcional, se pueden conservar los symlinks, el UID numérico, el GID numérico y el MODE numérico para las transferencias desde y hacia los sistemas de archivos POSIX.

Los campos de metadatos que no se mencionan de forma explícita en este documento no se conservan.

Comportamiento de la conservación de metadatos

En las siguientes secciones, se enumeran ejemplos de metadatos de diferentes sistemas de almacenamiento de origen y cómo el Servicio de transferencia de almacenamiento y la Transferencia de datos locales conservan los metadatos de cada sistema. Para obtener una lista completa de metadatos, consulta la documentación del sistema de almacenamiento de origen.

De Amazon S3 a Cloud Storage

Ejemplo de metadatos Comportamiento de la preservación
Campos de metadatos de clave fija de Amazon S3, como Cache-Control, Content-Disposition y Content-Type Se conserva como metadatos de clave fija.
Metadatos definidos por el usuario de Amazon S3, con formato de pares clave-valor. Para obtener más información, consulta la sección Metadatos de objeto definidos por el usuario de Clave y metadatos de objeto.

Se conserva como un campo de metadatos personalizados en objetos de destino de Cloud Storage, que puedes editar más adelante o quitar.

ETag Se conserva como un campo de metadatos personalizados con la clave x-goog-source-etag, que puedes editar más adelante o quitar.
Tamaño del objeto Se conserva como size.
Listas de control de acceso (LCA) de Amazon S3 Para obtener una lista completa, consulta la sección Claves de condición de la Descripción general de las listas de control de acceso (LCA). No se conservan
Etiquetas de objeto de Amazon S3, definidas por ti como pares clave-valor Para obtener más información, consulta Etiquetas de objetos. No se conservan
Metadatos definidos por el sistema de Amazon S3, excepto ETag y el tamaño del objeto Para obtener una lista completa, consulta la sección Metadatos de objeto definidos por el sistema de Clave y metadatos de objeto.

No se conservan

Los metadatos de marca de tiempo de la fuente no se conservan. La hora de creación, timeCreated, refleja la hora en la que se crea un objeto en Cloud Storage. De manera similar, updated refleja el tiempo en que los metadatos de un objeto se modifican en Cloud Storage.

De Microsoft Azure Storage a Cloud Storage

Ejemplo de metadatos Comportamiento de la preservación
Campos de metadatos de clave fija de Microsoft Azure Storage, como Cache-Control, Content-Disposition y Content-Type Se conserva como metadatos de clave fija.
Metadatos definidos por el usuario de Microsoft Azure Storage, con formato de pares clave-valor. Para obtener más información, consulta Configuración y recuperación de propiedades y metadatos para recursos del servicio de Blob.

Se conserva como un campo de metadatos personalizados en objetos de destino de Cloud Storage, que puedes editar más adelante o quitar.

ETag Se conserva como un campo de metadatos personalizados con la clave x-goog-source-etag, que puedes editar más adelante o quitar.
Tamaño del objeto Se conserva como size.
Permisos del sistema de archivos POSIX compatibles con Azure Data Lake Storage (ADLS) Gen 2. No se conservan
Control de acceso de Microsoft Azure Storage, en particular x-ms-blob-public-access. Para obtener más información, consulta la sección Encabezados de respuesta de Obtén LCA de contenedores. No se conservan
Etiquetas de índice de Microsoft Azure Storage Para obtener más información, consulta Administra y busca datos de Azure Blob con etiquetas de índice de BLOB. No se conservan
Metadatos de marca de tiempo de Microsoft Azure Storage, como: Last-Modified, x-ms-creation-time, x-ms-version, x-ms-request-server-encrypted y x-ms-encryption-scope Para obtener más información, consulta Configura metadatos de BLOB.

No se conservan

Los metadatos de marca de tiempo de la fuente no se conservan. La hora de creación, timeCreated, refleja la hora en la que se crea un objeto en Cloud Storage. De manera similar, updated refleja el tiempo en que los metadatos de un objeto se modifican en Cloud Storage.

Transferencias entre buckets de Cloud Storage

Ejemplo de metadatos Comportamiento de la preservación

Campos de metadatos de clave fija de Cloud Storage, como Cache-Control, Content-Disposition y Content-Type

Para obtener más información, consulta Metadatos de objetos.

Se conserva como metadatos de clave fija.

Metadatos definidos por el usuario de Cloud Storage, con formato de pares clave-valor. Para obtener más información, consulta Metadatos personalizados.

Se conserva como un campo de metadatos personalizados en objetos de destino de Cloud Storage, que puedes editar más adelante o quitar.

Tamaño del objeto Se conserva como size.
Conservaciones de objetos (Vista previa)

Las conservaciones basadas en eventos no se conservan. Si el bucket de destino tiene habilitada la propiedad predeterminada de conservación basada en eventos, se aplica una conservación basada en eventos a los objetos transferidos.

Las conservaciones temporales se conservan de forma predeterminada. Para descartar conservaciones temporales durante la transferencia, establece el campo temporaryHold del objeto metadataOptions en TEMPORARY_HOLD_SKIP.

Listas de control de acceso (LCA) (Vista previa)

Para obtener más información, consulta la documentación de las Listas de control de acceso de Cloud Storage.

De forma opcional, las LCA se pueden conservar. Consulta la documentación de referencia de metadataOptions para obtener más información.

Cuando conserves las LCA, ten cuidado para evitar crear objetos inaccesibles.

Clase de almacenamiento ( Vista previa)

Existen varias opciones para configurar la clase de almacenamiento durante una transferencia.

  • Configura la clase de almacenamiento de cada objeto con la del bucket de destino. Este es el comportamiento predeterminado.
  • Conserva la clase de almacenamiento del objeto de origen.
  • Establece una clase de almacenamiento específica en todos los objetos que se transfieren.

Consulta la documentación de referencia metadataOptions para obtener más información.

Clave de encriptación administrada por el cliente ( Vista previa)

Si una clave de encriptación administrada por el cliente (CMEK) se usa en un objeto, este puede usar de manera opcional la misma clave cuando se escribe en el bucket de destino.

El comportamiento predeterminado es escribir el objeto en el bucket de destino con el método de encriptación del bucket.

Cuando se conserva la CMEK original, ten en cuenta las siguientes limitaciones:

Consulta la documentación de referencia metadataOptions para obtener más información.

Metadatos de marca de tiempo (Vista previa)

De forma opcional, timeCreated se puede conservar. El valor conservado se almacena en el campo customTime del objeto transferido en Cloud Storage. Consulta la documentación de referencia metadataOptions para obtener más información.

Los metadatos updated no se conservan.

Otros metadatos no editables de Cloud Storage, como generation, etag y componentCount. No se conservan

Para obtener una lista de metadatos en Cloud Storage, consulta Objetos.

Transferencia de listas de URL a Cloud Storage

Para obtener más información sobre las listas de URL, consulta Crea una lista de URL.

Ejemplo de metadatos Comportamiento de la preservación
Campos de metadatos de clave fija, como Cache-Control, Content-Disposition y Content-Type Se conservan como metadatos editables.
Content-Length y MD5

Se conservan como metadatos no editables.

Si la fuente no proporciona un valor de hash MD5, no conservamos un valor.

Este comportamiento de conservación es específico de Content-Length y MD5. Cualquier otro metadato no editable que no se enumere no se conserva.

Metadatos de marca de tiempo, como: hora de creación, hora de modificación y otros metadatos específicos de la fuente.

No se conservan

Los metadatos de marca de tiempo de la fuente no se conservan. La hora de creación, timeCreated, refleja la hora en la que se crea un objeto en Cloud Storage. De manera similar, updated refleja el tiempo en que los metadatos de un objeto se modifican en Cloud Storage.

Transferencias del sistema de archivos POSIX

Cuando se transfieren archivos desde los sistemas de archivos POSIX, el servicio de transferencia de datos locales puede conservar de manera opcional ciertos atributos como metadatos personalizados. Si estos archivos se vuelven a escribir más tarde en un sistema de archivos, la transferencia de datos locales puede convertir los metadatos conservados de nuevo en atributos POSIX.

Ejemplo de metadatos Comportamiento de la preservación
Hora de modificación (mtime) y tamaño del archivo.

Se conservan

  • mtime se conserva como metadatos personalizados con la clave goog-reserved-file-mtime.
  • El tamaño de archivo se conserva como size.
Permisos de carpeta y vínculos duros.

No se conservan

El Servicio de transferencia de almacenamiento y el servicio de transferencia para datos locales no crean objetos de marcador de posición de carpeta en Cloud Storage para representar carpetas.

UID numérico, GID numérico, MODE numérico y vínculos simbólicos.

El comportamiento de conservación se especifica con el objeto metadataOptions. Consulta Conserva metadatos de POSIX opcionales para obtener más detalles.

El comportamiento predeterminado es no conservar ningún metadato.

Conserva metadatos POSIX opcionales

Para conservar uno o más UID numéricos, GID numéricos, MODE numéricos y vínculos simbólicos, especifica un objeto metadataOptions en el cuerpo de tu trabajo de transferencia.

Estas opciones se aplican a las transferencias de POSIX a Cloud Storage y a las transferencias de Cloud Storage a POSIX. Para este último, los metadatos deben conservarse cuando se transfirieron los archivos a Cloud Storage al principio.

{
  "description": "metadata-example",
  "projectId": "example-project-id"
  "transferSpec": {
    ...
    "transferOptions": {
      "metadataOptions": {
        "gid":     "GID_NUMBER",       # Default is "GID_SKIP"
        "uid":     "UID_NUMBER",       # Default is "UID_SKIP"
        "mode":    "MODE_PRESERVE",    # Default is "MODE_SKIP"
        "symlink": "SYMLINK_PRESERVE"  # Default is "SYMLINK_SKIP"
      }
    }
  }
}

POSIX a Cloud Storage

Los metadatos conservados se almacenan en Cloud Storage como pares clave-valor de metadatos personalizados.

  • El GID numérico se almacena como goog-reserved-posix-gid.
  • El UID numérico se almacena como goog-reserved-posix-uid.
  • El MODE numérico se almacena como goog-reserved-posix-mode.

En el caso de los vínculos simbólicos, el servicio de transferencia de datos locales conserva el vínculo de destino como un objeto en Cloud Storage con las siguientes cualidades:

  • La clave del objeto está compuesta por el prefijo de destino más la ruta de acceso al symlink, en relación con root_directory.
  • Metadatos de objeto:
    • Todos los metadatos de symlink se conservan como metadatos de objeto de Cloud Storage.
    • Se crea una entrada de metadatos personalizados: goog-reserved-file-is-symlink:true.
  • El contenido del objeto es el destino del symlink. Por ejemplo, para un symlink sym-> dir1/target, el contenido del objeto es “dir1/target”.

La transferencia de datos locales no valida el vínculo ni copia el archivo de destino.

Cloud Storage a POSIX

Si los metadatos se conservan cuando los archivos se transfieren a Cloud Storage, esos metadatos se pueden volver a escribir en los archivos cuando se transfieren de nuevo a un sistema de archivos POSIX.

Si se configura una opción de metadatos para conservar, la transferencia de datos locales realiza las siguientes acciones:

  • Vínculos simbólicos: la transferencia de datos locales crea un archivo symlink que apunta al vínculo de destino. Si el archivo de destino no existe, el symlink se romperá.
  • GID, UID y MODE: los valores almacenados en los metadatos de Cloud Storage se vuelven a escribir en el archivo.