La función de informes de inventario de Storage Insights te ayuda a administrar el almacenamiento de objetos a gran escala. Es una alternativa más rápida y programada a la operación de la API Objects: list
.
Los informes de inventario contienen información de metadatos sobre los objetos, como la clase de almacenamiento del objeto, la ETag y el tipo de contenido. Esta información te ayuda a analizar los costos de almacenamiento, auditar y validar tus 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 Parquet de Apache para analizarlos aún más mediante herramientas como BigQuery.
En esta página, se proporciona una descripción general de la característica de informes de inventario de Storage Insights. Para obtener instrucciones sobre cómo usar la función, consulta Crea y administra informes de inventario.
Descripción general de los informes de inventario
Los informes de inventario contienen una lista de objetos y los metadatos asociados para un bucket determinado, también conocido como bucket de origen. Para generar informes de inventario, primero debes crear una configuración de informes de inventario que defina la frecuencia con la que se generan los informes, los campos de metadatos que deseas que incluyan los informes y un bucket para generar y almacenar los informes, también conocido como bucket de destino.
Cuando creas una configuración informe de inventario, se le asigna automáticamente un identificador único universal (UUID). Este campo no se puede editar. Sin embargo, puedes editar los siguientes campos de una configuración de informes de inventario:
- El nombre visible de la configuración de informes de inventario
- Los campos de metadatos del objeto que se incluyen en los informes de inventario
- El bucket de destino que almacena los informes de inventario
- El programa que determina la frecuencia con la que se generan los informes de inventario
- El formato de archivo en el que se generan los informes de inventario (CSV o Parquet de Apache)
Cuando borras una configuración de informes de inventario, los informes de inventario nuevos ya no se generan para la configuración, pero los informes de inventario existentes permanecen.
Buckets de origen y destino
El bucket de origen contiene los objetos para los que deseas generar informes de inventario. También contiene la configuración de informes de inventario. Puedes tener hasta 100 configuraciones de informes de inventario en un bucket de origen.
El bucket de destino almacena los informes de inventario generados. El bucket de destino debe cumplir con los siguientes requisitos:
- Debe estar en la misma ubicación que el bucket de origen.
- Debe estar en el mismo proyecto que el bucket de origen.
- Puede ser igual que el bucket de origen.
Cuando creas una configuración de informe de inventario por primera vez, se crea un agente de servicio de forma automática por ti. Para crear configuraciones de informes de inventario y escribir informes de inventario en el bucket de destino, tú y tu agente de servicio deben tener los permisos de IAM necesarios. Consulta los permisos necesarios para ti y para tu agente de servicio.
Storage Insights usa los nombres de los buckets de origen y de destino para determinar qué buckets usar cuando se ejecutan trabajos. Si borras un bucket de origen o destino y, luego, creas un bucket nuevo con el mismo nombre, Storage Insights ejecutará trabajos en el bucket nuevo.
Campos de metadatos del objeto
Los siguientes campos de metadatos se pueden incluir en un informe de inventario. Los campos de metadatos marcados como "Obligatorios" deben incluirse en el informe de inventario.
Campo de metadatos | Descripción | Notas |
---|---|---|
proyecto | El ID del proyecto en el que reside el bucket de origen. | Obligatorio |
bucket | El nombre del bucket de origen. | Obligatorio |
name | El nombre del objeto. | Obligatorio |
ubicación | La ubicación del bucket de origen. | Opcional |
tamaño | El tamaño del objeto. | Opcional |
timeCreated | La hora de creación del objeto en formato RFC 3339. | Opcional |
timeDeleted | La hora de eliminación del objeto en formato RFC 3339. Se muestra solo si esta versión del objeto ya no es una versión publicada, pero permanece en el bucket como una versión no actual. | Opcional |
actualizado | La hora de modificación de los metadatos del objeto en formato RFC 3339. | Opcional |
storageClass | La clase de almacenamiento del objeto. | Opcional |
etag | HTTP 1.1 Etiqueta de entidad para el objeto. | Opcional |
retentionExpirationTime | La primera hora en que se puede borrar el objeto, lo que depende de cualquier configuración de retención establecida para el objeto y cualquier política de retención establecido para el bucket que contiene el objeto. El valor de retentionExpriationTime se proporciona en formato RFC 3339. |
Opcional |
crc32c | La suma de verificación CRC32C, 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 verificación CRC32C, consulta Metadatos de objetos. | Opcional |
md5Hash | El hash MD5 de los datos, codificado mediante base64. Este campo no está presente para los objetos compuestos. Para obtener más información sobre el hash MD5, consulta Metadatos de objetos. | Opcional |
generación | La generación de este objeto de contenido. Se usa para el control de versiones de los objetos. | Opcional |
metageneration | La versión de los metadatos de este objeto en esta generación. Se usa para las condiciones previas y la detección de cambios en los metadatos. Un número de metageneración solo es significativo en el contexto de una generación particular de un objeto en particular. | Opcional |
contentType | El Content-Type de los datos del objeto. Si un objeto se almacena sin un Content-Type, se entrega como application/octet-stream. | Opcional |
contentEncoding | El formato Content-Encoding de los datos del objeto. | Opcional |
timeStorageClassUpdated | La hora en la que se modificó la clase de almacenamiento del objeto por última vez. Cuando se crea el objeto inicialmente, se configura como 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, Storage Insights genera uno o más objetos de fragmento para redactar el informe de inventario. Cuando todos los fragmentos de un informe de inventario se generan de forma correcta, se genera un archivo de manifiesto en el mismo bucket de destino que los fragmentos.
Archivo de manifiesto del informe de inventario
La presencia de un archivo de manifiesto indica que se generaron 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
, en la que:
REPORT_CONFIG_UUID
es el UUID generado de forma automática de la configuración de informes de inventario.TARGET_DATETIME
es la fecha y hora de UTC generadas de forma automática 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 de propagación automática:
{ "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 campos contenidos en el recurso ReportConfig.NUMBER_OF_INCLUDED_OBJECTS
es la cantidad de objetos incluidos en el informe de inventario.SNAPSHOT_TIME
es la fecha y la hora UTC generadas de forma automática en que se produce la instantánea de datos. Todos los datos en un informe de inventario se capturan en la instantánea.TARGET_DATETIME
es la fecha y la hora UTC generadas de forma automática en que se genera un informe de inventario.SHARD_COUNT
es la cantidad total de fragmentos generados 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 se ve de la siguiente manera:
{ "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 y ubicaciones de los buckets admitidos
Storage Insights está sujeto a los precios, en los que cada millón de objetos contenidos en un informe de inventario se cobran según los precios que se encuentran a continuación, según la ubicación de almacenamiento. Para obtener más información sobre las ubicaciones de almacenamiento, consulta Ubicaciones de buckets.
Ubicaciones admitidas
Ubicación | Región | Precios |
---|---|---|
Asia | ||
Taiwán (asia-east1 ) |
$0.0025 por un millón de objetos | |
Hong Kong (asia-east2 ) |
$0.0028 por cada millón de objetos | |
Tokio (asia-northeast1 ) |
$0.0028 por cada millón de objetos | |
Osaka (asia-northeast2 ) |
$0.0028 por cada millón de objetos | |
Seúl (asia-northeast3 ) |
$0.0028 por cada millón de objetos | |
Singapur (asia-southeast1 ) |
$0.0025 por un millón de objetos | |
Australia | ||
Sídney (australia-southeast1 ) |
$0.0028 por cada millón de objetos | |
Melbourne (australia-southeast2 ) |
$0.0028 por cada millón de objetos | |
Europa | ||
Varsovia (europe-central2 ) |
$0.0028 por cada millón de objetos | |
Finlandia (europe-north1 ) |
$0.0025 por un millón de objetos | |
Madrid (europe-southwest1 ) |
$0.0028 por cada millón de objetos | |
Bélgica (europe-west1 ) |
$0.0025 por un millón de objetos | |
Londres (europe-west2 ) |
$0.0028 por cada millón de objetos | |
Fráncfort (europe-west3 ) |
$0.0028 por cada millón de objetos | |
Países Bajos (europe-west4 ) |
$0.0025 por un millón de objetos | |
Zúrich (europe-west6 ) |
$0.0031 por cada millón de objetos | |
Milán (europe-west8 ) |
$0.0028 por cada millón de objetos | |
París (europe-west9 ) |
$0.0028 por cada millón de objetos | |
India | ||
Bombay (asia-south1 ) |
$0.0028 por cada millón de objetos | |
Delhi (asia-south2 ) |
$0.0028 por cada millón de objetos | |
Indonesia | ||
Yakarta (asia-southeast2 ) |
$0.0028 por cada millón de objetos | |
Oriente Medio | ||
Tel Aviv (me-west1 ) |
$0.0026 por cada millón de objetos | |
Norteamérica | ||
Montreal (northamerica-northeast1 ) |
$0.0028 por cada millón de objetos | |
Toronto (northamerica-northeast2 ) |
$0.0028 por cada millón de objetos | |
Iowa (us-central1 ) |
$0.0025 por un millón de objetos | |
Carolina del Sur (us-east1 ) |
$0.0025 por un millón de objetos | |
Virginia del Norte (us-east4 ) |
$0.0028 por cada millón de objetos | |
Columbus (us-east5 ) |
$0.0025 por un millón de objetos | |
Oregón (us-west1 ) |
$0.0025 por un millón de objetos | |
Los Ángeles (us-west2 ) |
$0.0028 por cada millón de objetos | |
Salt Lake City (us-west3 ) |
$0.0028 por cada millón de objetos | |
Las Vegas (us-west4 ) |
$0.0028 por cada millón de objetos | |
Dallas (us-south1 ) |
$0.0025 por un millón de objetos | |
Sudamérica | ||
São Paulo (southamerica-east1 ) |
$0.0043 por un millón de objetos | |
Santiago (southamerica-west1 ) |
$0.0037 por un millón de objetos | |
Multirregiones | ||
Asia (asia ) |
$0.0028 por cada millón de objetos | |
Europa (eu ) |
$0.0028 por cada millón de objetos | |
United States (us ) |
$0.0028 por cada millón de objetos | |
Regiones dobles | ||
Tokio + Osaka (asia1 ) |
$0.0028 por cada millón de objetos | |
Finlandia y Países Bajos (eur4 ) |
$0.0028 por cada millón de objetos | |
Iowa y Carolina del Sur (nam4 ) |
$0.0028 por cada millón de objetos |
Registros de auditoría
Cloud Storage crea registros de auditoría cuando los informes de inventario se generan en el bucket de destino. Storage Insights genera registros de auditoría cada vez que se crean, actualizan o borran configuraciones de informes de inventario.
Cloud Storage no crea registros de auditoría cuando una configuración de informe de inventario lee los metadatos del objeto del bucket de origen.
Integración con los Controles del servicio de VPC
Puedes proporcionar una capa adicional de seguridad para los recursos de Storage Insights mediante los Controles del servicio de VPC. Cuando usas los Controles del servicio de VPC, agregas proyectos a los perímetros de servicio que protegen los recursos y servicios de las solicitudes que se originan fuera del perímetro. Para obtener más información sobre los Controles del servicio de VPC y los perímetros de servicio, consulta Configuración y perímetros de servicio.
Limitación
Si habilitas el filtrado de IP en los buckets de Cloud Storage, se restringe el acceso de Storage Insights al bucket, independientemente de si usa un agente de servicio para interactuar con Cloud Storage. Para evitar interrupciones del servicio, te recomendamos que no uses el filtrado de IP en los buckets de Cloud Storage si creas informes de inventario para ese bucket.
¿Qué sigue?
Obtén más información sobre cómo crear una configuración de informes de inventario y comenzar a generar informes de inventario.