La función de conjuntos de datos de Estadísticas de almacenamiento te ayuda a comprender, organizar y gestionar tus datos a gran escala. Puede elegir una organización, o bien uno o varios proyectos o carpetas que contengan los contenedores y objetos cuyos metadatos quiera actualizar. Se proporciona un índice de metadatos consultable para los contenedores y objetos incluidos en esos proyectos como un conjunto de datos vinculado de BigQuery.
Si quieres obtener estadísticas de tus recursos de Cloud Storage que se han exportado a BigQuery, usa los conjuntos de datos de Estadísticas de almacenamiento. Estas estadísticas pueden ayudarte a explorar los datos, optimizar los costes, aplicar medidas de seguridad e implementar la gobernanza. Los conjuntos de datos de Estadísticas de almacenamiento son una función exclusiva que solo está disponible con la suscripción a Storage Intelligence.
Información general
Un conjunto de datos de Estadísticas de almacenamiento es una instantánea continua de los metadatos de todos los contenedores y objetos de uno o varios proyectos de origen especificados de una organización. La información proporcionada por los conjuntos de datos te permite comprender mejor y auditar periódicamente tus datos de Cloud Storage.
Para crear un conjunto de datos, primero debes crear una configuración de conjunto de datos en un proyecto. Puede elegir una organización o uno o varios proyectos o carpetas que contengan los contenedores y objetos de los que quiera ver los metadatos. 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 de conjuntos de datos
Cuando crea una configuración de conjunto de datos, define estas propiedades del conjunto de datos. Una vez que haya configurado el conjunto de datos, pueden pasar hasta 48 horas hasta que vea los primeros datos en BigQuery como conjunto de datos vinculado. Los objetos o los contenedores que se añadan se incluirán en la siguiente copia de seguridad diaria.
Nombre: 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 una vez que se ha creado la configuración. El nombre puede tener hasta 128 caracteres, que pueden ser letras, números y guiones bajos. El nombre debe empezar por una letra.
Descripción (opcional): una descripción del conjunto de datos. Puedes editar la descripción en cualquier momento.
Ámbito del conjunto de datos: campo obligatorio que especifica una organización, proyectos o carpetas que contienen los contenedores y objetos de los que quieres obtener metadatos. Puedes especificar proyectos o carpetas de forma individual o en un archivo CSV, con cada número de proyecto o carpeta en una línea independiente. Puede especificar hasta 10.000 proyectos o carpetas en una configuración de conjunto de datos. Los conjuntos de datos se configuran para el ámbito de conjunto de datos especificado. Solo se puede especificar un ámbito de conjunto de datos por configuración de conjunto de datos. Puede actualizar el ámbito del conjunto de datos al editar la configuración del conjunto de datos.
Filtros de contenedor (opcional): filtros que se usan para incluir y excluir contenedores específicos del conjunto de datos por nombre o por regiones.
Periodo de conservación: el número de días durante los que el conjunto de datos recoge y conserva los 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 los datos durante un máximo de 90 días. Los datos recogidos fuera del periodo de conservación se eliminan automáticamente. Por ejemplo, supongamos que tienes un conjunto de datos que se creó el 1 de octubre del 2023 y que tiene un periodo de conservación de 30 días. El 30 de octubre, el conjunto de datos reflejará los datos de los 30 días anteriores, es decir, 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 periodo de conservación en cualquier momento.
Ubicación: lugar donde se almacenan 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 ámbito de configuración o un agente de servicio con ámbito de proyecto.
Al crear una configuración de conjunto de datos, se te proporcionará un agente de servicio. Para leer y escribir conjuntos de datos, se deben conceder los permisos necesarios al agente de servicio.
Un agente de servicio con ámbito de proyecto puede acceder a los conjuntos de datos generados 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 en un proyecto, solo tienes que conceder los permisos necesarios al agente de servicio del proyecto una vez para que pueda leer y escribir conjuntos de datos en todas las configuraciones de conjuntos de datos del proyecto. Cuando se elimina una configuración de conjunto de datos, no se elimina el agente de servicio del proyecto.
Un agente de servicio con ámbito de configuración solo puede acceder al conjunto de datos generado por la configuración de un conjunto de datos concreto y escribir en él. Esto significa que, si tienes varias configuraciones de conjuntos de datos, deberás conceder los permisos necesarios a cada agente de servicio con ámbito de configuración. Cuando se elimina una configuración de un conjunto de datos, se elimina el agente de servicio con ámbito de configuración.
Vincule el conjunto de datos a BigQuery después de crear una configuración de conjunto de datos. Al vincular un conjunto de datos a BigQuery, se crea un conjunto de datos vinculado en BigQuery para hacer consultas. Puedes vincular o desvincular el conjunto de datos en cualquier momento.
Para obtener más información sobre las propiedades que se definen al crear o actualizar una configuración de conjunto de datos, consulta el recurso DatasetConfigs en la documentación de la API 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 almacena y consulta BigQuery los datos.
Metadatos de segmentos
En la siguiente tabla se describen los campos de metadatos de los contenedores:
Campo de metadatos | Modo | Tipo | Descripción |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
El campo snapshotTime almacena la hora de la actualización de la instantánea de los metadatos del contenedor en formato RFC 3339. |
name |
NULLABLE |
STRING |
El nombre del depósito. |
location |
NULLABLE |
STRING |
La ubicación del depósito. Los datos de los objetos del segmento se encuentran en el almacenamiento físico de esta ubicación. |
project |
NULLABLE |
INTEGER |
El número de proyecto al que pertenece el segmento. |
storageClass |
NULLABLE |
STRING |
La clase de almacenamiento predeterminada del segmento. |
public |
NULLABLE |
RECORD |
Obsoleto. Este campo indica si un segmento era de acceso público. En su lugar, usa iamConfiguration. |
public.bucketPolicyOnly |
NULLABLE |
BOOLEAN |
Obsoleto. Este campo, que forma parte del registro public , indica si se ha habilitado el acceso uniforme a nivel de segmento, lo que impide que se conceda acceso a través de las listas de control de acceso a nivel de objeto. |
public.publicAccessPrevention |
NULLABLE |
STRING |
Obsoleto. Este campo, que forma parte del registro public , indica si se ha impedido el acceso público al segmento. |
autoclass |
NULLABLE |
RECORD |
La configuración de Autoclass del segmento, que, cuando está habilitada, controla la clase de almacenamiento de los objetos en función de cómo y cuándo se accede a ellos. |
autoclass.enabled |
NULLABLE |
BOOLEAN |
Si Autoclass está habilitado o no. |
autoclass.toggleTime |
NULLABLE |
TIMESTAMP |
Hora en la que se habilitó o inhabilitó por última vez Autoclass en este segmento, en formato RFC 3339. |
versioning |
NULLABLE |
BOOLEAN |
Indica si el segmento tiene habilitada la gestión de versiones. Para obtener más información, consulta Gestión de versiones de objetos. |
lifecycle |
NULLABLE |
BOOLEAN |
Indica si el contenedor tiene una configuración del ciclo de vida. Consulta la sección sobre gestión del ciclo de vida para obtener más información. |
metageneration |
NULLABLE |
INTEGER |
Generación de metadatos de este segmento. |
timeCreated |
NULLABLE |
TIMESTAMP |
Hora de creación del contenedor en formato RFC 3339. |
tags |
NULLABLE |
RECORD |
Obsoleto. Este campo contiene pares clave-valor definidos por el usuario asociados al segmento. 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 contenedor proporcionadas por el usuario, en pares clave-valor. |
labels.key |
NULLABLE |
STRING |
Una entrada de etiqueta individual. |
labels.value |
NULLABLE |
STRING |
Valor de la etiqueta. |
softDeletePolicy |
NULLABLE |
OBJECT |
La política de eliminación no definitiva del segmento, que define el periodo durante el cual los objetos del segmento se conservan en un estado de eliminación no definitiva después de eliminarse. Los objetos en estado de eliminación no definitiva no se pueden eliminar de forma permanente y se pueden restaurar hasta su hardDeleteTime . |
softDeletePolicy.effectiveTime |
NULLABLE |
DATETIME |
Fecha y hora en las que la política de eliminación temporal entra en vigor, en formato RFC 3339.
|
softDeletePolicy.retentionDurationSeconds |
NULLABLE |
LONG |
Periodo durante el cual se retiene un objeto eliminado de forma no definitiva y no se puede eliminar de forma permanente, en segundos. El valor debe ser superior o igual a 604800 (7 días) e inferior a 7776000 (90 días). El valor también puede ser 0 , que inhabilita la política de eliminación suave. |
iamConfiguration |
NULLABLE |
RECORD |
Configuración de gestión de identidades y accesos de un segmento. |
iamConfiguration.uniformBucketLevelAccess |
NULLABLE |
RECORD |
La configuración de acceso uniforme a nivel de segmento del segmento. |
iamConfiguration.uniformBucketLevelAccess.enabled |
NULLABLE |
BOOLEAN |
Indica si el segmento usa el acceso uniforme a nivel de segmento. |
iamConfiguration.publicAccessPrevention |
NULLABLE |
STRING |
El estado de prevención del acceso público del segmento, que puede ser "inherited" o "enforced" . |
resourceTags |
REPEATED |
RECORD |
Las etiquetas del segmento. Para obtener más información, consulta la API de Cloud Resource Manager. |
resourceTags.key |
NULLABLE |
STRING |
Clave de la etiqueta de recurso. |
resourceTags.value |
NULLABLE |
STRING |
Valor de la etiqueta del recurso. |
Metadatos del objeto
En la siguiente tabla se describen los campos de metadatos de objetos:
Campo de metadatos | Modo | Tipo | Descripción |
---|---|---|---|
snapshotTime |
NULLABLE |
TIMESTAMP |
El campo snapshotTime almacena la hora de la actualización de la captura de metadatos del objeto en formato RFC 3339. |
bucket |
NULLABLE |
STRING |
Nombre del segmento que contiene este objeto. |
location |
NULLABLE |
STRING |
La ubicación del depósito. Los datos de los objetos del segmento se encuentran en el almacenamiento físico de esta ubicación. |
componentCount |
NULLABLE |
INTEGER |
Se devuelve solo en el caso de los objetos compuestos. Número de objetos no compuestos del objeto compuesto. componentCount incluye objetos no compuestos que formaban parte de los objetos compuestos que se han usado para componer el objeto actual. |
contentDisposition |
NULLABLE |
STRING |
El parámetro Content-Disposition de los datos del objeto. |
contentEncoding |
NULLABLE |
STRING |
El parámetro Content-Encoding de los datos del objeto. |
contentLanguage |
NULLABLE |
STRING |
El parámetro Content-Language de los datos del objeto. |
contentType |
NULLABLE |
STRING |
El parámetro Content-Type de los datos del objeto. |
crc32c |
NULLABLE |
INTEGER |
Suma de comprobación CRC32c, tal como se describe en el apéndice B de RFC 4960. Se codifica con base64 en orden de bytes big-endian. |
customTime |
NULLABLE |
TIMESTAMP |
Marca de tiempo especificada por el usuario para el objeto en formato RFC 3339. |
etag |
NULLABLE |
STRING |
Etiqueta de entidad HTTP 1.1 del objeto. |
eventBasedHold |
NULLABLE |
BOOLEAN |
Indica si el objeto está sujeto a una retención basada en eventos. |
generation |
NULLABLE |
INTEGER |
La generación de contenido de este objeto. |
md5Hash |
NULLABLE |
STRING |
Hash MD5 de los datos, codificado con base64. Este campo no está presente en los objetos compuestos. |
mediaLink |
NULLABLE |
STRING |
URL para descargar los datos del objeto. |
metadata |
REPEATED |
RECORD |
Metadatos proporcionados por el usuario, en pares clave-valor. |
metadata.key |
NULLABLE |
STRING |
Una entrada de metadatos concreta. |
metadata.value |
NULLABLE |
STRING |
Valor de los metadatos. |
metageneration |
NULLABLE |
INTEGER |
Versión de los metadatos de este objeto en esta generación. |
name |
NULLABLE |
STRING |
El nombre del objeto. |
selfLink |
NULLABLE |
STRING |
URL de este objeto. |
size |
NULLABLE |
INTEGER |
El parámetro 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 retención temporal. |
timeCreated |
NULLABLE |
TIMESTAMP |
Hora de creación del objeto en formato RFC 3339. |
timeDeleted |
NULLABLE |
TIMESTAMP |
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 |
Hora a la que se cambió por última vez la clase de almacenamiento del objeto. |
retentionExpirationTime |
NULLABLE |
TIMESTAMP |
La hora más antigua en la que se puede eliminar el objeto, que depende de la configuración de retención establecida para el objeto y de la política de retención establecida para el segmento que contiene el objeto. El valor de retentionExpirationTime se indica en formato RFC 3339. |
softDeleteTime |
NULLABLE |
DATETIME |
La hora a la que se eliminó no definitivamente el objeto. Solo está disponible para los objetos de los segmentos que tengan una política de eliminación no definitiva. |
hardDeleteTime |
NULLABLE |
DATETIME |
La hora a la que se elimina de forma permanente un objeto eliminado de forma no definitiva y ya no se puede restaurar. El valor es la suma del valor softDeleteTime y el valor softDeletePolicy.retentionDurationSeconds del segmento. Solo está disponible para los objetos de los segmentos que tengan una política de eliminación no definitiva. |
project |
NULLABLE |
INTEGER |
El número de proyecto al que pertenece el segmento. |
La última instantánea de metadatos de segmentos y objetos
El conjunto de datos vinculado expone la última instantánea de los metadatos del cubo y del objeto a través de las siguientes vistas específicas:
El
bucket_attributes_latest_snapshot_view
proporciona los metadatos más recientes de tus segmentos de Cloud Storage. Su estructura coincide con el esquema de metadatos de Bucket.El
object_attributes_latest_snapshot_view
proporciona los metadatos más recientes de 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 la actualización de la instantánea de los metadatos del proyecto en formato RFC 3339. |
name |
NULLABLE |
STRING |
Nombre del proyecto. |
id |
NULLABLE |
STRING |
Identificador único del proyecto. |
number |
NULLABLE |
NUMBER |
Valor numérico asociado al proyecto. |
Esquema del conjunto de datos de eventos y errores
En el conjunto de datos vinculado, también puede ver los eventos de procesamiento de las instantáneas y los errores en las vistas events_view
y error_attributes_view
. Para saber cómo solucionar los errores de procesamiento de la instantánea, consulta Solucionar errores 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 |
La hora en formato RFC 3339 en la que se actualiza la instantánea de los eventos. |
manifest.viewName |
NULLABLE |
STRING |
Nombre de la vista que se ha actualizado. |
manifest.location |
NULLABLE |
STRING |
Ubicación de origen de los datos que se han actualizado. |
globalManifest.snapshotTime |
NULLABLE |
TIMESTAMP |
La hora en formato RFC 3339 en la que se actualiza la instantánea de los eventos. |
eventTime |
NULLABLE |
STRING |
La hora a la que se produjo el evento. |
eventCode |
NULLABLE |
STRING |
Es el código de evento asociado a 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 de la instantánea
manifest.snapshotTime . El código de evento 2 indica que el conjunto de datos se actualiza con las entradas de los objetos y los contenedores de todas las ubicaciones de origen. Esta actualización se produce en la captura 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 |
Código de error asociado a esta entrada. Para ver una lista de valores válidos y cómo resolverlos, consulta Solucionar problemas con conjuntos de datos. |
errorSource |
NULLABLE |
STRING |
La fuente del error. Valor válido: CONFIGURATION_PREPROCESSING . |
errorTime |
NULLABLE |
TIMESTAMP |
La hora en la que se produjo 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 |
Nombre del segmento implicado en el error. Puedes usar esta información para depurar un error de un contenedor. |
bucketErrorRecord.serviceAccount |
NULLABLE |
STRING |
La cuenta de servicio que necesita permiso para ingerir objetos del segmento. Puedes usar esta información para depurar un error de un contenedor. |
projectErrorRecord.projectNumber |
NULLABLE |
INTEGER |
El número del proyecto implicado en el error. Puedes usar esta información para depurar un error de proyecto. |
projectErrorRecord.organizationName |
NULLABLE |
STRING |
Número de la organización a la que debe pertenecer el proyecto para poder procesarse. El valor 0 indica que el conjunto de datos no está en la organización. Puedes usar esta información para depurar un error de proyecto. |
Solucionar errores de conjuntos de datos
Para saber cómo solucionar los errores de procesamiento de las copias de la vista error_attributes_view
del conjunto de datos vinculado, consulte 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 . |
Añade el proyecto de origen projectErrorRecord.projectNumber a la organización projectErrorRecord.organizationName . Para obtener instrucciones sobre cómo migrar un proyecto entre organizaciones, consulta el artículo Migrar proyectos entre organizaciones. |
2 | Error de autorización del segmento | Permiso denegado para ingerir objetos del segmento bucketErrorRecord.bucketName . |
Concede a la cuenta de servicio bucketErrorRecord.serviceAccount permisos de gestión de identidades y accesos (IAM) para permitir la ingestión de objetos en el segmento bucketErrorRecord.bucketName . Para obtener más información, consulta Conceder 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 . |
Añade el proyecto de destino projectErrorRecord.projectNumber a la organización projectErrorRecord.organizationName . Para obtener instrucciones sobre cómo migrar un proyecto entre organizaciones, consulta el artículo 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 en el proyecto de origen projectErrorRecord.projectNumber . Para obtener más información, consulta Configurar y gestionar Estadísticas de almacenamiento. |
5 | El segmento no tiene configurado Storage Intelligence. | El segmento bucketErrorRecord.bucketName no tiene configurado Storage Intelligence. |
Configura Storage Intelligence en el segmento bucketErrorRecord.bucketName . Para obtener más información, consulta Configurar y gestionar Estadísticas de almacenamiento. |
Cuestiones importantes
Ten en cuenta lo siguiente en las configuraciones de conjuntos de datos:
Cuando cambias el nombre de una carpeta de un segmento con el espacio de nombres jerárquico habilitado, los nombres de los objetos de ese segmento se actualizan. Cuando el conjunto de datos vinculado los ingiere, estas copias de objetos se consideran entradas nuevas en los conjuntos de datos vinculados.
Los conjuntos de datos solo se admiten en estas ubicaciones de BigQuery.
Siguientes pasos
- Usar conjuntos de datos de Estadísticas de almacenamiento.
- Consulta información sobre Storage Intelligence.
- Ejecuta consultas de SQL en los conjuntos de datos de BigQuery.
- Consulta información sobre las analíticas de BigQuery.