Esquema y ejemplos de consultas para las exportaciones de inventario de Drive en BigQuery

Ediciones compatibles con esta función: Frontline Plus, Enterprise Standard y Enterprise Plus, Education Standard y Education Plus, Enterprise Essentials Plus y Cloud Identity Premium. Comparar tu edición

Después de configurar las exportaciones de inventario de Drive, puedes analizar el conjunto de datos en BigQuery. En esta página, se describen el esquema de la tabla y las consultas de ejemplo para los informes comunes que puedes obtener de BigQuery.

Nota: Debes configurar la facturación para tu proyecto de Google Cloud, ya que exportar y consultar tu inventario de Drive en BigQuery tiene un costo. Habilita la facturación para un proyecto.

Esquema de exportación de inventarios de Drive

Esquema y definiciones

La exportación del inventario de Drive se agrega al conjunto de datos de BigQuery con el siguiente esquema:

Nombre Campo del esquema Descripción
ID de artículo id Es el identificador único del elemento de Drive.
Versión version Es el número de versión más reciente del archivo. La versión del archivo es un número que aumenta de forma monótona. Esto refleja cada cambio que se realiza en el archivo del servidor, incluso aquellos que no son visibles para el usuario.
ID del propietario owner.user.id

En el caso de los elementos que son propiedad de un usuario, es el ID de usuario del propietario del archivo.

Correo electrónico del propietario owner.user.email En el caso de los elementos que son propiedad de un usuario, es el correo electrónico del propietario del archivo.
ID de la unidad compartida owner.shared_drive.id ID de la unidad compartida para los elementos de una unidad compartida.
Creador creator El ID de usuario y el correo electrónico del creador del elemento. Este campo no se completa si el creador ya no tiene acceso al elemento.
Marcas de tiempo de las instantáneas snapshot_start_time_micros y snapshot_end_time_micros Marcas de tiempo de cuándo comenzó y finalizó la generación del informe.
Hora de lectura read_time_micros Es la marca de tiempo en la que se leyeron los metadatos del elemento de Drive.
Título title

Es el título del archivo que especifica el usuario.

Descripción description Es una breve descripción del elemento.
Estado en la papelera trashed Indica si el elemento se movió a la papelera, pero aún no se borró.
Tipo de MIME mime_type Es el tipo de MIME del elemento. Consulta los tipos de MIME admitidos en Google Workspace y Google Drive.
Extensión de archivo file_extension Es el componente final de la extensión de archivo completa, que se extrae del campo name. Esta opción solo está disponible para los elementos con contenido binario en Google Drive.
Fecha/hora de creación create_time_micros Es la marca de tiempo de la creación del elemento.
Se modificó por última vez last_modified_time_micros Es la marca de tiempo de la última vez que alguien modificó el elemento.
Tamaño del archivo file_size_bytes Tamaño en bytes de los archivos de blobs y de los editores de Documentos. No se informa para los elementos que no tienen tamaño, como los accesos directos y las carpetas.
Cuota consumida consumed_quota_bytes Es la cantidad de bytes de la cuota de almacenamiento que usa el elemento. Esto incluye la revisión principal y las revisiones anteriores que se conservaron.
ID de la unidad compartida shared_drive_id ID de la unidad compartida para los elementos de una unidad compartida.
Unidad organizativa org_unit_path Es la unidad organizativa del propietario del elemento.
Suma de comprobación md5_checksum Suma de verificación MD5 del contenido del elemento.
Encriptación del cliente client_side_encrypted Es un valor booleano que indica si el elemento está encriptado del cliente .
Carpeta superior parent Es el ID de la carpeta principal del elemento.
Etiquetas aplicadas* applied_labels.id Es el ID de la etiqueta aplicada al elemento.
applied_labels.title Es el nombre del recurso de la etiqueta aplicada al elemento.
applied_labels.field_values.id

Es el ID de un campo, que es único dentro de una etiqueta o biblioteca.

applied_labels.field_values.type

Es el tipo de campo. Puede ser una de las siguientes:

applied_labels.field_values.display_name

Es el texto que se mostrará en la IU y que identifica el campo.
ID de destino de combinación de teclas shortcut_target_id Es el ID del archivo o la carpeta a la que apunta este acceso directo.
Permisos access.permissions.permission_id

Es el ID de este permiso. Es un identificador único del beneficiario.

Nota: El ID de permiso no es el mismo que el ID de usuario.

access.permissions.name

Es el nombre "descriptivo" del valor del permiso. A continuación, se incluye una lista de ejemplos para cada tipo de permiso:

  • user: Nombre completo del usuario, tal como se define en su Cuenta de Google, por ejemplo, "Dana Cruz".
  • group: Nombre del grupo, como "Administradores de ejemplo"
  • domain: Es el nombre de dominio de cadena, como "example.com".
  • anyone: No se informó ningún nombre
access.permissions.type

Es el tipo de permiso. Estos son los valores válidos:

  • user
  • group
  • domain
  • anyone
access.permissions.role

Es el rol que otorga este permiso. Estos son los valores válidos:

  • owner
  • organizer
  • fileOrganizer
  • writer
  • commenter
  • reader

Nota: Consulta roles y permisos para obtener detalles sobre el tipo.

access.permissions.view

Si el permiso pertenece a una vista, el valor es published.

access.permissions.allow_file_discovery

Indica si el permiso permite que se pueda buscar el archivo. Solo se informa para los permisos de tipo domain o anyone.
access.permissions.email Es la dirección de correo electrónico del usuario o grupo al que se refiere este permiso.
access.permissions.domain Es el nombre de dominio de la entidad a la que se refiere este permiso. Este campo está presente cuando el tipo de permiso es user, group o domain.
access.permissions.user_id Es el ID de usuario asociado con el correo electrónico en los permisos.
access.permissions.permission_details
.permission_type
Es el tipo de permiso del usuario.
access.permissions.permission_details.role Es el rol principal del usuario.
access.permissions.permission_details
.inherited_from
Es el ID del elemento del que se hereda este permiso. Este campo solo se propaga para los elementos de unidades compartidas.
access.permissions.permission_details
.inherited
Es un valor booleano que indica si el permiso se hereda.
access.permissions.inherited_permissions
_disabled
Indica si los permisos heredados están inhabilitados para este elemento. Solo es verdadero para las carpetas con acceso limitado.

* Se refiere a las etiquetas aplicadas a los elementos en Drive.

Ejemplos de consultas

En estos ejemplos de consultas, se supone que se usa SQL heredado. Reemplaza project_name.dataset_name por tu propio nombre de proyecto y nombre de conjunto de datos. Obtén más información para consultar datos de BigQuery.

Reemplaza project_name.dataset_name por el nombre de tu proyecto y el nombre del conjunto de datos.

Devuelve una tabla con el ID, el título, el correo electrónico del propietario y el tipo de archivo.

SELECT id, title, mime_type, owner.user.email
FROM project_name.dataset_name
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(access.permissions) AS permission
  WHERE permission.allow_file_discovery = true
)

Cómo encontrar elementos con una etiqueta específica

Reemplaza project_name.dataset_name por el nombre de tu proyecto y el nombre del conjunto de datos. Reemplaza label_id por tu ID de etiqueta, que puedes obtener en el Administrador de etiquetas.

Esta consulta devuelve una tabla con el ID, el título, el correo electrónico del propietario y el tipo de archivo.

SELECT id, title, mime_type, owner.user.email
FROM project_name.dataset_name
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(applied_labels) AS label
  WHERE label.id = label_id
)

Cómo encontrar usuarios que superan un umbral de uso del almacenamiento de Drive

Reemplaza project_name.dataset_name por el nombre de tu proyecto y el nombre del conjunto de datos. Reemplaza límite por tu límite en MB. Por ejemplo, para encontrar a los usuarios que usan más de 15 GB de almacenamiento de Drive, la penúltima línea es HAVING total_storage_mb > 15000.

Esta consulta devuelve una tabla con el correo electrónico del usuario y el uso total del almacenamiento de Drive en MB en orden descendente.

SELECT owner.user.email AS user_email,
  SUM(size_bytes) / (1000000) AS total_storage_mb
FROM project_name.dataset_name
GROUP BY user_email
HAVING total_storage_mb > threshold
ORDER BY total_storage_mb DESC

Descubre qué tipos de elementos ocupan más espacio

Reemplaza project_name.dataset_name por el nombre de tu proyecto y el nombre del conjunto de datos.

Esta consulta devuelve una tabla de tipos de elementos ordenados por tamaño de forma descendente.

SELECT mime_type, SUM(consumed_quota_bytes) AS total_consumed
FROM project_name.dataset_name
GROUP BY mime_type
ORDER BY total_consumed DESC

Cómo encontrar elementos encriptados con la encriptación del cliente (CSE)

Reemplaza project_name.dataset_name por el nombre de tu proyecto y el nombre del conjunto de datos.

SELECT id, owner.user.email, title
FROM project_name.dataset_name
WHERE mime_type LIKE '%.encrypted'

Cómo encontrar elementos compartidos con un usuario específico

Reemplaza project_name.dataset_name por el nombre de tu proyecto y el nombre del conjunto de datos. Reemplaza user@example.com por tu usuario específico.

Nota: Esta búsqueda no encuentra el uso compartido del usuario a través de grupos o membresías de público objetivo.

SELECT id, title, mime_type, owner.user.email as owner_email
FROM project_name.dataset_name
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(access.permissions) AS permissions
  WHERE permissions.email = user@example.com
)