Conjuntos de datos de Storage Insights

La función de conjuntos de datos de Storage Insights te ayuda a comprender, organizar y administrar tus datos a gran escala. Puedes elegir una organización, uno o varios proyectos o carpetas que contengan buckets y objetos para los que deseas actualizar los metadatos. Un índice de metadatos consultable para los buckets y objetos incluidos en esos proyectos se pone a disposición como un conjunto de datos vinculado de BigQuery.

Si deseas obtener estadísticas de los recursos de Cloud Storage que se exportan a BigQuery, usa los conjuntos de datos de Storage Insights. Estas estadísticas pueden ayudarte con la exploración de datos, la optimización de costos, la aplicación de la seguridad y la implementación de la administración. Los conjuntos de datos de Storage Insights son una función exclusiva que solo está disponible a través de la suscripción a Storage Intelligence.

Descripción general

Un conjunto de datos de Storage Insights es un resumen continuo de los metadatos de todos los buckets y objetos dentro de uno o varios proyectos de origen especificados dentro de una organización. La información que proporcionan los conjuntos de datos te permite comprender mejor tus datos de Cloud Storage y auditarlos de forma periódica.

Para crear un conjunto de datos, primero debes crear una configuración de conjunto de datos en un proyecto. Puedes elegir una organización, uno o varios proyectos o carpetas que contengan los buckets y los objetos de los que deseas ver los metadatos. La configuración del conjunto de datos genera conjuntos de datos a diario. Tanto las configuraciones de los conjuntos de datos como los conjuntos de datos son recursos que se almacenan en Cloud Storage.

Para ver un conjunto de datos, primero debes vincularlo a BigQuery.

Propiedades de configuración del conjunto de datos

Cuando creas una configuración de conjunto de datos, estableces las siguientes propiedades del conjunto de datos:

  • Nombre: Es un nombre que se usa para hacer referencia al conjunto de datos. Los nombres se usan como identificadores de las configuraciones de conjuntos de datos y no se pueden cambiar después de crear la configuración. El nombre contiene hasta 128 caracteres, incluidos letras, números y guiones bajos. El nombre debe comenzar con una letra.

  • Descripción (opcional): Es una descripción del conjunto de datos. Puedes editar la descripción en cualquier momento.

  • Alcance del conjunto de datos: Es una organización, proyectos o carpetas que contienen los buckets y los objetos para los que deseas metadatos. Puedes especificar proyectos o carpetas de forma individual o como un archivo CSV, con cada número de proyecto o carpeta en una línea independiente. Puedes especificar hasta 10,000 proyectos o carpetas en una configuración de conjunto de datos.

  • Filtros de bucket (opcionales): Son filtros que se usan para incluir y excluir buckets específicos del conjunto de datos por nombre de bucket o por regiones.

  • Período de retención: Es la cantidad de días durante los cuales el conjunto de datos captura y retiene datos, incluida la fecha de creación del conjunto de datos. Los conjuntos de datos se actualizan con metadatos cada 24 horas y pueden retener datos durante hasta 90 días. Los datos capturados fuera del período de retención se borran automáticamente. Por ejemplo, supongamos que tienes un conjunto de datos que se creó el 1 de octubre de 2023 con un período de retención establecido en 30. El 30 de octubre, el conjunto de datos reflejará los datos de los últimos 30 días, del 1 al 30 de octubre. El 31 de octubre, el conjunto de datos reflejará los datos del 2 al 31 de octubre. Puedes modificar el período de retención en cualquier momento.

  • Ubicación: Es una ubicación para almacenar el conjunto de datos y sus datos. Por ejemplo, us-central1 La ubicación debe ser compatible con BigQuery. Te recomendamos que selecciones la ubicación de tus tablas de BigQuery, si tienes alguna.

  • Tipo de agente de servicio: Es un agente de servicio centrado en la configuración o en el proyecto.

    Cuando creas una configuración de conjunto de datos, se aprovisiona un agente de servicio por ti. Para leer conjuntos de datos, se deben otorgar al agente de servicio los permisos necesarios para leer datos de los buckets de Cloud Storage.

    Un agente de servicio centrado en el proyecto puede acceder a conjuntos de datos y escribirlos que se generan a partir de todas las configuraciones de conjuntos de datos del proyecto. Por ejemplo, si tienes varias configuraciones de conjuntos de datos dentro de un proyecto, solo debes otorgar los permisos necesarios al agente de servicio centrado en el proyecto una vez para que pueda leer y escribir conjuntos de datos para todas las configuraciones de conjuntos de datos del proyecto. Para obtener más información sobre los permisos necesarios para leer y escribir conjuntos de datos, consulta Permisos. Cuando se borra la configuración de un conjunto de datos, no se borra el agente de servicio centrado en el proyecto.

    Un agente de servicio centrado en la configuración solo puede acceder al conjunto de datos generado por la configuración de conjunto de datos en particular y escribirlo. Esto significa que, si tienes varias configuraciones de conjuntos de datos, deberás otorgar los permisos necesarios a cada agente de servicio centrado en la configuración. Cuando se borra la configuración de un conjunto de datos, también se borra el agente de servicio centrado en la configuración.

Vincula el conjunto de datos a BigQuery después de crear una configuración de conjunto de datos. Cuando vinculas un conjunto de datos a BigQuery, se crea un conjunto de datos vinculado en BigQuery para realizar consultas. Puedes vincular o desvincular el conjunto de datos en cualquier momento.

Para obtener más información sobre las propiedades que estableces cuando creas o actualizas una configuración de conjunto de datos, consulta el recurso DatasetConfigs en la documentación de la API de JSON.

Ubicaciones admitidas

Las siguientes ubicaciones de BigQuery son compatibles para crear conjuntos de datos vinculados:

  • EU
  • US
  • asia-southeast1
  • europe-west1
  • us-central1
  • us-east1
  • us-east4

Esquema de metadatos del conjunto de datos

Los siguientes campos de metadatos se incluyen en los conjuntos de datos. Para obtener más información sobre los modos de columna de BigQuery, consulta Modos. Los modos de columna determinan cómo BigQuery almacena y consulta los datos.

El campo snapshotTime almacena la hora de la actualización de la instantánea de metadatos del bucket en formato RFC 3339.

Metadatos de bucket

A menos que se indique lo contrario, puedes encontrar descripciones más detalladas de los siguientes campos de metadatos de bucket si consultas la Representación de recursos de buckets para la API de JSON.

Campo de metadatos Modo Tipo
snapshotTime NULLABLE TIMESTAMP
name NULLABLE STRING
location NULLABLE STRING
project NULLABLE INTEGER
storageClass NULLABLE STRING
versioning NULLABLE BOOLEAN
lifecycle NULLABLE BOOLEAN
metageneration NULLABLE INTEGER
timeCreated NULLABLE TIMESTAMP
public NULLABLE RECORD
public.bucketPolicyOnly NULLABLE BOOLEAN
public.publicAccessPrevention NULLABLE STRING
autoclass NULLABLE RECORD
autoclass.enabled NULLABLE BOOLEAN
autoclass.toggleTime NULLABLE TIMESTAMP
softDeletePolicy NULLABLE OBJECT
softDeletePolicy.effectiveTime NULLABLE DATETIME
softDeletePolicy.retentionDurationSeconds NULLABLE LONG
tags* NULLABLE RECORD
tags.lastUpdatedTime NULLABLE TIMESTAMP
tags.tagMap REPEATED RECORD
tags.tagMap.key NULLABLE STRING
tags.tagMap.value NULLABLE STRING
labels REPEATED RECORD
labels.key NULLABLE STRING
labels.value NULLABLE STRING

* Las etiquetas del bucket Para obtener más información, consulta la API de Cloud Resource Manager.

Metadatos de objeto

A menos que se indique lo contrario, puedes encontrar descripciones más detalladas de los siguientes campos de metadatos de objetos si consultas la Representación de recursos de objetos para la API de JSON.

Campo de metadatos Modo Tipo
snapshotTime NULLABLE TIMESTAMP
bucket NULLABLE STRING
location NULLABLE STRING
componentCount NULLABLE INTEGER
contentDisposition NULLABLE STRING
contentEncoding NULLABLE STRING
contentLanguage NULLABLE STRING
contentType NULLABLE STRING
crc32c NULLABLE INTEGER
customTime NULLABLE TIMESTAMP
etag NULLABLE STRING
eventBasedHold NULLABLE BOOLEAN
generation NULLABLE INTEGER
md5Hash NULLABLE STRING
metageneration NULLABLE INTEGER
name NULLABLE STRING
size NULLABLE INTEGER
storageClass NULLABLE STRING
temporaryHold NULLABLE BOOLEAN
timeCreated NULLABLE TIMESTAMP
timeDeleted NULLABLE TIMESTAMP
updated NULLABLE TIMESTAMP
timeStorageClassUpdated NULLABLE TIMESTAMP
retentionExpirationTime NULLABLE TIMESTAMP
softDeleteTime NULLABLE DATETIME
hardDeleteTime NULLABLE DATETIME
metadata REPEATED RECORD
metadata.key NULLABLE STRING
metadata.value NULLABLE STRING

Metadatos del proyecto

Los metadatos del proyecto se exponen como una vista llamada project_attributes_view en el conjunto de datos vinculado:

Campo de metadatos Modo Tipo
snapshotTime NULLABLE TIMESTAMP
name NULLABLE STRING
id NULLABLE STRING
number NULLABLE NUMBER

Esquema del conjunto de datos para eventos y errores

En el conjunto de datos vinculado, también puedes ver los eventos de procesamiento de instantáneas y los errores en las vistas events_view y error_attributes_view. Para obtener información sobre cómo solucionar los errores de procesamiento de instantáneas, consulta Soluciona problemas de conjuntos de datos.

Registro de eventos

Puedes ver los registros de eventos en la vista events_view del conjunto de datos vinculado:

Nombre de la columna Modo Tipo Descripción
manifest.snapshotTime NULLABLE TIMESTAMP Es la hora en formato RFC 3339 a la que se actualiza la instantánea de los eventos.
manifest.viewName NULLABLE STRING Es el nombre de la vista que se actualizó.
manifest.location NULLABLE STRING Es la ubicación de origen de los datos que se actualizaron.
eventTime NULLABLE STRING La hora en que ocurrió el evento.
eventCode NULLABLE STRING Es el código de evento asociado con la entrada correspondiente. El código de evento 1 hace referencia a la vista manifest.viewName que se actualiza con todas las entradas de la ubicación de origen manifest.location dentro de la instantánea manifest.snapshotTime.

Códigos de error

Puedes ver los códigos de error en la vista error_attributes_view del conjunto de datos vinculado:

Nombre de la columna Modo Tipo Descripción
errorCode NULLABLE INTEGER Es el código de error asociado con esta entrada. Para obtener una lista de valores válidos y cómo resolverlos, consulta Cómo solucionar problemas de conjuntos de datos.
errorSource NULLABLE STRING La fuente del error. Valor válido: CONFIGURATION_PREPROCESSING.
errorTime NULLABLE TIMESTAMP La hora en que ocurrió el error.
sourceGcsLocation NULLABLE STRING La ubicación de Cloud Storage de origen del error. En el caso de los proyectos, este campo es nulo porque no tienen ubicación.
bucketErrorRecord.bucketName NULLABLE STRING Es el nombre del bucket involucrado en el error. Puedes usar esta información para depurar un error de bucket.
bucketErrorRecord.serviceAccount NULLABLE STRING La cuenta de servicio que necesita permiso para transferir objetos del bucket Puedes usar esta información para depurar un error de bucket.
projectErrorRecord.projectNumber NULLABLE INTEGER Es el número del proyecto involucrado en el error. Puedes usar esta información para depurar un error de proyecto.
projectErrorRecord.organizationName NULLABLE STRING Es el número de la organización a la que debe pertenecer el proyecto para que se procese. Un valor de 0 indica que el conjunto de datos no está en la organización. Puedes usar esta información para depurar un error de proyecto.

Soluciona problemas de conjuntos de datos

Para obtener información sobre cómo solucionar los errores de procesamiento de instantáneas que se registran en la vista error_attributes_view del conjunto de datos vinculado, consulta la siguiente tabla:

Código de error Caso de error Mensaje de error Solución de problemas
1 El proyecto de origen no pertenece a la organización El proyecto de origen projectErrorRecord.projectNumber no pertenece a la organización projectErrorRecord.organizationName. Agrega el proyecto de origen projectErrorRecord.projectNumber a la organización projectErrorRecord.organizationName. Para obtener instrucciones sobre cómo migrar un proyecto entre organizaciones, consulta Migra proyectos entre organizaciones.
2 Error de autorización del bucket Se denegó el permiso para transferir objetos al bucket bucketErrorRecord.bucketName. Otorga permisos de Identity and Access Management (IAM) a la cuenta de servicio bucketErrorRecord.serviceAccount para permitir la transferencia de objetos al bucket bucketErrorRecord.bucketName. Para obtener más información, consulta Otorga los permisos necesarios al agente de servicio.
3 El proyecto de destino no pertenece a la organización El proyecto de destino projectErrorRecord.projectNumber no está en la organización projectErrorRecord.organizationName. Agrega el proyecto de destino projectErrorRecord.projectNumber a la organización projectErrorRecord.organizationName. Para obtener instrucciones sobre cómo migrar un proyecto entre organizaciones, consulta Migra proyectos entre organizaciones.
4 El proyecto de origen no tiene configurada la función Storage Intelligence. El proyecto de origen projectErrorRecord.projectNumber no tiene configurada la función Storage Intelligence. Configura Storage Intelligence para el proyecto de origen projectErrorRecord.projectNumber. Para obtener más información, consulta Configura y administra Storage Intelligence.
5 El bucket no tiene Storage Intelligence configurado. El bucket bucketErrorRecord.bucketName no tiene Storage Intelligence configurado. Configura Storage Intelligence para el bucket bucketErrorRecord.bucketName. Para obtener más información, consulta Configura y administra Storage Intelligence.

Consideraciones

Ten en cuenta lo siguiente para las configuraciones de conjuntos de datos:

  • Cuando cambias el nombre de una carpeta en un bucket con el espacio de nombres jerárquico habilitado, los nombres de los objetos de ese bucket se actualizan. Cuando el conjunto de datos vinculado transfiere estas instantáneas de objetos, se consideran entradas nuevas en los conjuntos de datos vinculados.

  • Los conjuntos de datos solo son compatibles con estas ubicaciones de BigQuery.

¿Qué sigue?