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 los objetos para los que deseas actualizar los metadatos. 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 de 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 recién agregados se incluyen en la siguiente 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 y escribir conjuntos de datos, se le deben otorgar al agente de servicio los permisos necesarios.
Un agente de servicio con alcance en el 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. 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 una configuración del 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
En las siguientes secciones, se describen los campos de metadatos incluidos 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.
Metadatos de bucket
En la siguiente tabla, se describen los campos de metadatos del bucket:
Campo de metadatos | Modo | Tipo | Descripción |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
El campo snapshotTime almacena la hora de actualización de la instantánea de los metadatos del bucket en formato RFC 3339. |
name |
NULLABLE |
STRING |
El nombre del bucket. |
location |
NULLABLE |
STRING |
Ubicación del bucket. Los datos de objetos del bucket residen en el almacenamiento físico dentro de esta ubicación. |
project |
NULLABLE |
INTEGER |
Es el número del proyecto al que pertenece el bucket. |
storageClass |
NULLABLE |
STRING |
Clase de almacenamiento predeterminada del bucket. |
public |
NULLABLE |
RECORD |
Obsoleto. Este campo indica si un bucket era accesible de manera pública. Usa iamConfiguration en su lugar. |
public.bucketPolicyOnly |
NULLABLE |
BOOLEAN |
Obsoleto. Este campo, que forma parte del registro public , indica si se habilitó el acceso uniforme a nivel del bucket, lo que impide que se otorgue acceso a través de las LCA a nivel del objeto. |
public.publicAccessPrevention |
NULLABLE |
STRING |
Obsoleto. Este campo, que forma parte del registro public , indica si se impidió el acceso público al bucket. |
autoclass |
NULLABLE |
RECORD |
La configuración de Autoclass del bucket, que, cuando está habilitada, controla la clase de almacenamiento de los objetos según cómo y cuándo se accede a ellos |
autoclass.enabled |
NULLABLE |
BOOLEAN |
Indica si Autoclass está habilitado o no. |
autoclass.toggleTime |
NULLABLE |
TIMESTAMP |
Es la fecha y hora en la que se habilitó o inhabilitó Autoclass por última vez para este bucket, en formato RFC 3339. |
versioning |
NULLABLE |
BOOLEAN |
Indica si el bucket tiene habilitado el control de versiones. Para obtener más información, consulta Control de versiones de objetos. |
lifecycle |
NULLABLE |
BOOLEAN |
Indica si el bucket tiene una configuración del ciclo de vida. Consulta Administración del ciclo de vida para obtener más información. |
metageneration |
NULLABLE |
INTEGER |
Es la generación de metadatos de este bucket. |
timeCreated |
NULLABLE |
TIMESTAMP |
Es la hora de creación del bucket en formato RFC 3339. |
tags |
NULLABLE |
RECORD |
Obsoleto. Este campo contiene pares clave-valor definidos por el usuario y asociados al bucket. En su lugar, usa etiquetas de recursos. |
tags.lastUpdatedTime |
NULLABLE |
TIMESTAMP |
Obsoleto. Este campo, que forma parte del registro tags , indica la última vez que se actualizaron las etiquetas. |
tags.tagMap |
REPEATED |
RECORD |
Obsoleto. Este campo, que forma parte del registro tags , contiene el mapa de claves y valores de etiquetas. |
tags.tagMap.key |
NULLABLE |
STRING |
Obsoleto. Este campo, que forma parte del registro tags.tagMap , representa la clave de una etiqueta. |
tags.tagMap.value |
NULLABLE |
STRING |
Obsoleto. Este campo, que forma parte del registro tags.tagMap , representa el valor de una etiqueta. |
labels |
REPEATED |
RECORD |
Etiquetas de discretización proporcionadas por el usuario, en pares clave-valor. |
labels.key |
NULLABLE |
STRING |
Es una entrada de etiqueta individual. |
labels.value |
NULLABLE |
STRING |
Es el valor de la etiqueta. |
softDeletePolicy |
NULLABLE |
OBJECT |
La política de eliminación no definitiva del bucket, que define el período durante el cual los objetos del bucket se conservan en un estado de eliminación no definitiva después de borrarse. Los objetos en estado de borrado no definitivo no se pueden borrar de forma permanente y se pueden restablecer hasta su hardDeleteTime . |
softDeletePolicy.effectiveTime |
NULLABLE |
DATETIME |
Fecha y hora en la que entra en vigencia la política de eliminación temporal, en formato RFC 3339.
|
softDeletePolicy.retentionDurationSeconds |
NULLABLE |
LONG |
Es el período durante el cual se retiene un objeto borrado de forma no definitiva y no se puede borrar de forma permanente, expresado en segundos. El valor debe ser mayor o igual que 604800 (7 días) y menor que 7776000 (90 días). El valor también se puede establecer en 0 , lo que inhabilita la política de eliminación no definitiva. |
iamConfiguration |
NULLABLE |
RECORD |
Es la configuración de IAM para un bucket. |
iamConfiguration.uniformBucketLevelAccess |
NULLABLE |
RECORD |
Es la configuración del acceso uniforme a nivel de bucket del bucket. |
iamConfiguration.uniformBucketLevelAccess.enabled |
NULLABLE |
BOOLEAN |
Indica si el bucket usa el acceso uniforme a nivel de bucket. |
iamConfiguration.publicAccessPrevention |
NULLABLE |
STRING |
Estado de prevención del acceso público del bucket, que puede ser "inherited" o "enforced" . |
resourceTags |
REPEATED |
RECORD |
Son las etiquetas del bucket. Para obtener más información, consulta la API de Cloud Resource Manager. |
resourceTags.key |
NULLABLE |
STRING |
Es la clave de la etiqueta del recurso. |
resourceTags.value |
NULLABLE |
STRING |
Es el valor de la etiqueta del recurso. |
Metadatos de objeto
En la siguiente tabla, se describen los campos de metadatos del objeto:
Campo de metadatos | Modo | Tipo | Descripción |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
El campo snapshotTime almacena la hora de actualización de la instantánea de los metadatos del objeto en formato RFC 3339. |
bucket |
NULLABLE |
STRING |
Nombre del bucket que contiene este objeto. |
location |
NULLABLE |
STRING |
Ubicación del bucket. Los datos de objetos del bucket residen en el almacenamiento físico dentro de esta ubicación. |
componentCount |
NULLABLE |
INTEGER |
Se devuelve solo para los objetos compuestos. Cantidad de objetos no compuestos en el objeto compuesto. componentCount incluye objetos no compuestos que formaron parte de cualquier objeto compuesto que se usó para componer el objeto actual. |
contentDisposition |
NULLABLE |
STRING |
Content-Disposition de los datos del objeto. |
contentEncoding |
NULLABLE |
STRING |
Es el Content-Encoding de los datos del objeto. |
contentLanguage |
NULLABLE |
STRING |
Content-Language de los datos del objeto. |
contentType |
NULLABLE |
STRING |
Content-Type de los datos del objeto. |
crc32c |
NULLABLE |
INTEGER |
Suma de verificación CRC32c, como se describe en el RFC 4960, Apéndice B; codificada con base64 en orden de bytes big-endian. |
customTime |
NULLABLE |
TIMESTAMP |
Es una marca de tiempo especificada por el usuario para el objeto en formato RFC 3339. |
etag |
NULLABLE |
STRING |
Etiqueta de entidad HTTP 1.1 para el objeto. |
eventBasedHold |
NULLABLE |
BOOLEAN |
Indica si el objeto está sujeto a una conservación basada en eventos. |
generation |
NULLABLE |
INTEGER |
Es la generación de contenido de este objeto. |
md5Hash |
NULLABLE |
STRING |
Hash MD5 de los datos, codificado con base64. Este campo no está presente para los objetos compuestos. |
mediaLink |
NULLABLE |
STRING |
Es una URL para descargar los datos del objeto. |
metadata |
REPEATED |
RECORD |
Son los metadatos proporcionados por el usuario, en pares clave-valor. |
metadata.key |
NULLABLE |
STRING |
Es una entrada de metadatos individual. |
metadata.value |
NULLABLE |
STRING |
Es el valor de los metadatos. |
metageneration |
NULLABLE |
INTEGER |
Es la versión de los metadatos de este objeto en esta generación. |
name |
NULLABLE |
STRING |
El nombre del objeto. |
selfLink |
NULLABLE |
STRING |
Es la URL de este objeto. |
size |
NULLABLE |
INTEGER |
Content-Length de los datos en bytes. |
storageClass |
NULLABLE |
STRING |
Clase de almacenamiento del objeto. |
temporaryHold |
NULLABLE |
BOOLEAN |
Indica si el objeto está sujeto a una conservación temporal. |
timeCreated |
NULLABLE |
TIMESTAMP |
Es la hora de creación del objeto en formato RFC 3339. |
timeDeleted |
NULLABLE |
TIMESTAMP |
Es la hora de eliminación del objeto en formato RFC 3339. |
updated |
NULLABLE |
TIMESTAMP |
La hora de modificación de los metadatos del objeto en formato RFC 3339. |
timeStorageClassUpdated |
NULLABLE |
TIMESTAMP |
Es la fecha y hora en la que se modificó la clase de almacenamiento del objeto por última vez. |
retentionExpirationTime |
NULLABLE |
TIMESTAMP |
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 establecida para el bucket que contiene el objeto. El valor de retentionExpirationTime se proporciona en formato RFC 3339. |
softDeleteTime |
NULLABLE |
DATETIME |
Es la fecha y hora en la que se borró de forma no definitiva el objeto. Solo está disponible para los objetos en buckets con una política de eliminación no definitiva. |
hardDeleteTime |
NULLABLE |
DATETIME |
Es la fecha y hora en la que un objeto borrado de forma no definitiva se borra de forma permanente y ya no se puede restablecer. El valor es la suma del valor softDeleteTime y el valor softDeletePolicy.retentionDurationSeconds del bucket. Solo está disponible para los objetos en buckets con una política de eliminación no definitiva. |
project |
NULLABLE |
INTEGER |
Es el número del proyecto al que pertenece el bucket. |
Es la instantánea más reciente de los metadatos del bucket y el objeto.
El conjunto de datos vinculado expone la instantánea más reciente de los metadatos del bucket y del objeto a través de las siguientes vistas dedicadas:
El
bucket_attributes_latest_snapshot_view
proporciona los metadatos más recientes para tus buckets de Cloud Storage. Su estructura coincide con el esquema de metadatos del bucket.El objeto
object_attributes_latest_snapshot_view
proporciona los metadatos más recientes para tus objetos de Cloud Storage. Su estructura coincide con el esquema de metadatos de objeto.
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 | Descripción |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
El campo snapshotTime almacena la hora de actualización de la instantánea de los metadatos del proyecto en formato RFC 3339. |
name |
NULLABLE |
STRING |
Es el nombre del proyecto. |
id |
NULLABLE |
STRING |
Es el identificador único del proyecto. |
number |
NULLABLE |
NUMBER |
Es un valor numérico asociado al proyecto. |
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. |
globalManifest.snapshotTime |
NULLABLE |
TIMESTAMP |
Es la hora en formato RFC 3339 en la que se actualiza la instantánea de los eventos. |
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 . El código de evento 2 indica que el conjunto de datos se actualizó con las entradas de bucket y objeto para todas las ubicaciones de origen. Esta actualización se produce dentro de la instantánea globalManifest.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 Cómo migrar 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 Cómo migrar 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?
- Usa conjuntos de datos de Storage Insights.
- Obtén más información sobre Storage Intelligence.
- Ejecuta consultas de SQL en los conjuntos de datos de BigQuery.
- Obtén más información sobre los análisis de BigQuery.