Informes de inventario

Los informes de inventario le ayudan a gestionar su almacenamiento de objetos a gran escala. Es una alternativa más rápida y programada a la operación de la API Objects: list. Usa los informes de inventario si quieres validar la migración de grandes contenedores sin que afecte al rendimiento o comprobar la integridad de los objetos de un solo contenedor.

Los informes de inventario contienen información de metadatos sobre tus objetos, como la clase de almacenamiento, la ETag y el tipo de contenido. Esta información te permite analizar los costes de almacenamiento, auditar y validar objetos, y garantizar la seguridad y el cumplimiento de los datos. Puedes exportar informes de inventario como archivos de valores separados por comas (CSV) o de Apache Parquet para analizarlos en mayor profundidad con herramientas como BigQuery.

En esta página se ofrece una descripción general de los informes de inventario. Para obtener instrucciones sobre cómo usar los informes de inventario, consulta el artículo Crear y gestionar informes de inventario.

Información general sobre los informes de inventario

Los informes de inventario contienen una lista de objetos y sus metadatos asociados de un segmento determinado, también conocido como segmento de origen. Para generar informes de inventario, primero debe crear una configuración de informe de inventario que defina la frecuencia con la que se generan los informes, los campos de metadatos que quiere que incluyan los informes y un segmento para generar y almacenar los informes, también conocido como segmento de destino.

Cuando crea una configuración de informe de inventario, se le asigna automáticamente un identificador único universal (UUID). Este campo no se puede editar. Sin embargo, puede editar los siguientes campos de una configuración de informe de inventario:

  • Nombre visible de la configuración del informe de inventario
  • Los campos de metadatos de los objetos que se incluyen en los informes de inventario
  • El contenedor de destino que almacena los informes de inventario
  • La programación que determina con qué frecuencia se generan los informes de inventario
  • El formato de archivo en el que se generan los informes de inventario (CSV o Apache Parquet)

Cuando elimina una configuración de informe de inventario, ya no se generan informes de inventario con esa configuración, pero los informes de inventario que ya se hayan generado se conservan.

Cuándo usar los informes de inventario

Los informes de inventario se han diseñado para analizar rápidamente los distintos segmentos. Puedes usarlos para hacer lo siguiente:

  • Mostrar todos los objetos de un segmento

  • Validar que las transferencias de datos se han realizado correctamente

  • Generar informes de auditoría de un determinado contenedor

Cuándo no usar informes de inventario

Recopilar y analizar manualmente informes de inventario de muchos contenedores y proyectos puede ser complicado, sobre todo si se trata de análisis a gran escala. En casos prácticos como la visibilidad en toda la organización, el análisis de seguridad o la gestión de costes, puedes usar los conjuntos de datos de estadísticas de almacenamiento. Los conjuntos de datos de Estadísticas de almacenamiento ofrecen flexibilidad para configurar un ámbito personalizado a nivel de segmento, carpeta, proyecto u organización. Los conjuntos de datos de Estadísticas de almacenamiento también proporcionan información valiosa, como metadatos personalizados e información sobre la eliminación no definitiva.

En el caso de los conjuntos de datos de Estadísticas de almacenamiento, los datos se actualizan a diario y puedes analizarlos con SQL en BigQuery o con preguntas en lenguaje natural con Gemini.

Usa conjuntos de datos de Estadísticas de almacenamiento si tus objetivos son los siguientes:

  • Descubrimiento de datos entre organizaciones
  • Análisis para la optimización de costes y la gestión del ciclo de vida
  • Auditoría de la gestión y la seguridad
  • Análisis de series temporales para identificar tendencias

Los conjuntos de datos de Estadísticas de almacenamiento son una función exclusiva que solo está disponible con la suscripción a Inteligencia de almacenamiento.

Contenedores de origen y destino

El contenedor de origen contiene los objetos de los que quiere generar informes de inventario. También contiene la configuración del informe de inventario. Puede tener hasta 100 configuraciones de informes de inventario en un segmento de origen.

El contenedor de destino almacena los informes de inventario generados. El bucket de destino debe cumplir los siguientes requisitos:

  • Debe estar en la misma ubicación que el segmento de origen.
  • Debe estar en el mismo proyecto que el segmento de origen.
  • Puede ser el mismo que el segmento de origen.

La primera vez que creas una configuración de informe de inventario, se crea automáticamente un agente de servicio en tu nombre. Para crear configuraciones de informes de inventario y escribir informes de inventario en el segmento de destino, tanto usted como su agente de servicio deben tener los permisos de gestión de identidades y accesos necesarios. Consulta los permisos necesarios para ti y para tu agente de servicio.

Los informes de inventario usan los nombres de los contenedores de origen y de destino para determinar qué contenedores se deben usar al ejecutar trabajos. Si eliminas un cubo de origen o de destino y, más adelante, creas otro con el mismo nombre, los informes de inventario ejecutarán trabajos con el nuevo cubo.

Campos de metadatos de objetos

Los siguientes campos de metadatos se pueden incluir en un informe de inventario. Los campos de metadatos marcados como "Obligatorio" deben incluirse en el informe de inventario.

Campo de metadatos Descripción Notas
proyecto El ID del proyecto en el que se encuentra el contenedor de origen. Obligatorio
segmento Nombre del segmento de origen. Obligatorio
name El nombre del objeto. Obligatorio
ubicación La ubicación del segmento de origen. Opcional
size El tamaño del objeto. Opcional
timeCreated Hora de creación del objeto en formato RFC 3339. Opcional
timeDeleted Hora de eliminación del objeto en formato RFC 3339. Se devuelve si y solo si esta versión del objeto ya no es una versión activa, pero permanece en el segmento como una versión no actual. Opcional
actualizado Hora de modificación de los metadatos del objeto en formato RFC 3339. Opcional
storageClass La clase de almacenamiento del objeto. Opcional
etag Etiqueta de entidad HTTP 1.1 del objeto. Opcional
retentionExpirationTime La hora más temprana en la que se puede eliminar el objeto, que depende de la configuración de retención que se haya definido para el objeto y de la política de retención que se haya definido para el segmento que contiene el objeto. El valor de retentionExpirationTime se indica en formato RFC 3339. Opcional
crc32c La suma de comprobación CRC32C, tal como se describe en el apéndice B de RFC 4960, codificada con base64 en orden de bytes big-endian. Para obtener más información sobre la suma de comprobación CRC32C, consulta Metadatos de objetos. Opcional
md5Hash El hash MD5 de los datos, codificado con base64. Este campo no está presente en los objetos compuestos. Para obtener más información sobre el hash MD5, consulta Metadatos de objetos. Opcional
generación El contenido generado de este objeto. Se usa para la gestión de versiones de objetos. Opcional
Metageneración La versión de los metadatos de este objeto en esta generación. Se usa para las condiciones previas y para detectar cambios en los metadatos. Un número de metageneración solo tiene sentido en el contexto de una generación concreta de un objeto concreto. Opcional
contentType El Content-Type de los datos del objeto. Si un objeto se almacena sin un Content-Type, se sirve como application/octet-stream. Opcional
contentEncoding La codificación de contenido de los datos del objeto. Opcional
timeStorageClassUpdated Hora a la que se cambió por última vez la clase de almacenamiento del objeto. Cuando se crea el objeto, se le asigna el valor timeCreated. Opcional

Para obtener más información sobre los campos de metadatos de objetos, consulta Metadatos de objetos.

Fragmentos de informes de inventario

Cuando un informe de inventario contiene más de 1.000.000 de objetos, se generan uno o varios objetos de fragmento para componer el informe de inventario. Cuando se hayan generado correctamente todos los fragmentos de un informe de inventario, se generará un archivo de manifiesto en el mismo segmento de destino que los fragmentos.

Archivo de manifiesto del informe de inventario

La presencia de un archivo de manifiesto indica que se han generado todos los fragmentos que componen un informe de inventario. El archivo de manifiesto también proporciona los nombres de los objetos de fragmento del informe de inventario.

El archivo de manifiesto sigue la convención de nomenclatura REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json, donde:

  • REPORT_CONFIG_UUID es el UUID generado automáticamente de la configuración del informe de inventario.

  • TARGET_DATETIME es la fecha y hora UTC generadas automáticamente en las que se genera un informe de inventario.

Un ejemplo de nombre de archivo de manifiesto es fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

El archivo manifest.json contiene los siguientes campos rellenados automáticamente:

{
  "report_config": REPORT_CONFIG_FIELDS,
  "records_processed": NUMBER_OF_INCLUDED_OBJECTS,
  "snapshot_time": "SNAPSHOT_TIME,
  "target_datetime": "TARGET_DATETIME,
  "shard_count": SHARD_COUNT,
  "report_shards_file_names": [
    SHARD_FILE_NAME
    ...]
}

Donde:

  • REPORT_CONFIG_FIELDS incluye los campos contenidos en el recurso ReportConfig.

  • NUMBER_OF_INCLUDED_OBJECTS es el número de objetos incluidos en el informe de inventario.

  • SNAPSHOT_TIME es la fecha y hora UTC generadas automáticamente en las que se realiza la captura de datos. Todos los datos de un informe de inventario se capturan en la instantánea.

  • TARGET_DATETIME es la fecha y hora UTC generadas automáticamente en las que se genera un informe de inventario.

  • SHARD_COUNT es el número total de particiones generadas que componen el informe de inventario.

  • SHARD_FILE_NAME es el nombre de un fragmento que compone un informe de inventario.

Un archivo manifest.json de ejemplo tiene el siguiente aspecto:

{
  "report_config":
     {
       "name": "projects/123456789098/locations/us/reportConfigs/fcec5187-afa6-48b0-938a-543d16493dc0",
       "createTime": "2023-06-08T08:07:53.397366139Z",
       "updateTime": "2023-06-08T08:07:53.552347723Z",
       "frequencyOptions": {
         "frequency": "DAILY",
         "startDate": {
           "year": 2023,
           "month": 6,
           "day": 9
         }
         "endDate": {
           "year": 2023,
           "month": 6,
           "day": 23
         }
       },
       "csvOptions": {
         "recordSeparator": "\n",
         "delimiter": ","
       },
       "objectMetadataReportOptions": {
         "metadataFields": [
           "project",
           "bucket",
           "name",
           "location",
           "updated",
           "storageClass",
         ],
         "storageFilters": {
           "bucket": "my-test-bucket"
         },
         "storageDestinationOptions": {
           "bucket": "example-bucket",
           "destinationPath": "folder/subfolder"
         }
       }
     },
  "records_processed": 3993900,
  "snapshot_time" : "2023-06-06T00:07:27Z",
  "target_datetime": {
    "year": 2023,
    "month": 6,
    "day": 6
  },
  "shard_count": 4,
  "report_shards_file_names": [
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv",
    "fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_1.csv",
    ...
  ],
}

Precios

El uso de informes de inventario está sujeto a precios, que dependen de la ubicación del cubo. Para obtener más información sobre los precios de los informes de inventario, consulta la página Precios.

Registros de auditoría

Cloud Storage crea registros de auditoría cuando se generan informes de inventario en el segmento de destino. Cloud Storage genera registros de auditoría cada vez que se crean, actualizan o eliminan configuraciones de informes de inventario.

Cloud Storage no crea registros de auditoría cuando una configuración de informe de inventario lee metadatos de objetos de un segmento de origen.

Integración con Controles de Servicio de VPC

Puedes proporcionar una capa adicional de seguridad a los recursos de informes de inventario mediante los Controles de Servicio de VPC. Cuando usas Controles de Servicio de VPC, añades proyectos a perímetros de servicio que protegen los recursos y los servicios de las solicitudes que proceden de fuera del perímetro. Para obtener más información sobre Controles de Servicio de VPC y los perímetros de servicio, consulta Detalles y configuración de los perímetros de servicio.

Limitación

Si habilitas el filtrado por IP en los segmentos de Cloud Storage, se restringe el acceso a los segmentos de los informes de inventario, independientemente de si usan un agente de servicio para interactuar con Cloud Storage. Para evitar interrupciones del servicio, le recomendamos que no utilice el filtrado por IP en los segmentos de Cloud Storage si va a crear informes de inventario para ese segmento.

Siguientes pasos

Consulte cómo crear una configuración de informe de inventario y empezar a generar informes de inventario.