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, o bien uno o varios proyectos o carpetas que contengan los buckets y objetos cuyos metadatos deseas actualizar. Se pone a disposición un índice de metadatos consultable para los buckets y objetos incluidos en esos proyectos como un conjunto de datos vinculado a BigQuery.

Si deseas obtener estadísticas sobre tus 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 una instantánea continua de los metadatos de todos los buckets y objetos dentro de uno o varios proyectos fuente especificados en una organización. La información que proporcionan los conjuntos de datos te permite comprender mejor y auditar de forma rutinaria tus datos de Cloud Storage.

Para crear un conjunto de datos, primero debes crear una configuración del conjunto de datos en un proyecto. Puedes elegir una organización, o bien uno o varios proyectos o carpetas que contengan los buckets y los objetos cuyos metadatos deseas ver. La configuración del conjunto de datos genera conjuntos de datos a diario. Tanto las configuraciones como los conjuntos de datos son recursos almacenados 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 del conjunto de datos, estableces estas propiedades del conjunto de datos. Después de configurar el conjunto de datos, es posible que debas esperar hasta 48 horas para ver los primeros datos propagados como un conjunto de datos vinculado en BigQuery. Los objetos o buckets que se agreguen recientemente se incluirán en la próxima instantánea diaria.

  • Nombre: Es un nombre que se usa para hacer referencia al conjunto de datos. Los nombres se usan como identificadores de los parámetros de configuración del conjunto de datos y no se pueden cambiar después de crear la configuración. El nombre contiene hasta 128 caracteres con 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 un campo obligatorio que especifica una organización, proyectos o carpetas que contienen los buckets y los objetos para los que deseas obtener 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 separada. Puedes especificar hasta 10,000 proyectos o carpetas en una configuración de conjunto de datos. Los conjuntos de datos se configuran para el alcance especificado. Solo se puede especificar un alcance del conjunto de datos para cada configuración del conjunto de datos. Puedes actualizar el alcance del conjunto de datos cuando edites la configuración del conjunto de datos.

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

  • Período de retención: Es la cantidad de días durante los que 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 conservar datos durante un máximo de 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: Puede ser un agente de servicio con alcance de configuración o un agente de servicio con alcance de proyecto.

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

    Un agente de servicio con permisos a nivel del proyecto puede acceder a los conjuntos de datos que se generan a partir de todas las configuraciones de conjuntos de datos del proyecto y escribir en ellos. Por ejemplo, si tienes varias configuraciones de conjuntos de datos dentro de un proyecto, solo necesitas otorgar los permisos requeridos al agente de servicio con alcance para el proyecto una vez para que pueda leer y escribir conjuntos de datos para todas las configuraciones de conjuntos de datos dentro 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 la agente de servicio con alcance para el proyecto.

    Un agente de servicio con alcance de configuración solo puede acceder al conjunto de datos generado por la configuración específica del conjunto de datos y escribir en él. Esto significa que, si tienes varias configuraciones de conjuntos de datos, deberás otorgar los permisos requeridos a cada agente de servicio con alcance de configuración. Cuando se borra la configuración de un conjunto de datos, se borra el agente de servicio con alcance de configuración.

Vincula el conjunto de datos a BigQuery después de crear una configuración del 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 configuras cuando creas o actualizas la configuración de un conjunto de datos, consulta el recurso DatasetConfigs en la documentación de la API de JSON.

Ubicaciones admitidas

Se admiten las siguientes ubicaciones de BigQuery 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 actualización de la instantánea de los 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 del bucket en 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

* Son 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 en 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 y errores de procesamiento de instantáneas en las vistas events_view y error_attributes_view. Para obtener información sobre cómo solucionar problemas relacionados con el procesamiento de instantáneas, consulta Soluciona problemas relacionados con 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 en 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 Ubicación de origen de los datos que se actualizaron.
eventTime NULLABLE STRING Es la fecha y 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 a esta entrada. Para obtener una lista de los valores válidos y cómo resolverlos, consulta Soluciona problemas relacionados con los conjuntos de datos.
errorSource NULLABLE STRING Es la fuente del error. Valor válido: CONFIGURATION_PREPROCESSING.
errorTime NULLABLE TIMESTAMP Hora en que ocurrió el error.
sourceGcsLocation NULLABLE STRING 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 Es la cuenta de servicio que necesita permiso para transferir objetos desde el 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 del 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 del proyecto.

Soluciona problemas de errores en 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 fuente 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 configurado Storage Intelligence. El proyecto de origen projectErrorRecord.projectNumber no tiene configurado 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 configurado Storage Intelligence. El bucket bucketErrorRecord.bucketName no tiene configurado Storage Intelligence. 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, se actualizan los nombres de los objetos en ese bucket. Cuando el conjunto de datos vinculado los transfiere, estas instantáneas de objetos se consideran entradas nuevas en los conjuntos de datos vinculados.

  • Los conjuntos de datos solo se admiten en estas ubicaciones de BigQuery.

¿Qué sigue?