Vue TABLE_STORAGE_USAGE_TIMELINE
La vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
fournit les totaux quotidiens d'utilisation du stockage au cours des 90 derniers jours pour les types de tables suivants :
- Tables standards
- Vues matérialisées
- Clones de tables ayant un delta en octets par rapport à la table de base
- Instantanés de tables ayant un delta en octets par rapport à la table de base
Les tables qui n'ont pas d'octets facturables ne sont pas incluses dans la vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
. Cela inclut les types de tables suivants :
- Tables externes
- Tables anonymes
- Tables vides
- Clones de table n'ayant pas de delta en octets par rapport à la table de base
- Instantanés de tables n'ayant pas de delta en octets par rapport à la table de base
Lorsque vous interrogez la vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, les résultats de la requête contiennent une ligne par jour pour chaque table ou vue matérialisée du projet en cours.
Les données de cette table ne sont pas conservées en temps réel. Il faut environ 72 heures pour que les données de la table soient reflétées dans cette vue.
L'utilisation de l'espace de stockage est renvoyée en Mo/s. Par exemple, si un projet utilise 1 000 000 d'octets physiques pendant 86 400 secondes (24 heures), l'utilisation physique totale est de 86 400 000 000 d'octets par seconde, ce qui est converti en 82 397 Mo/s, comme illustré dans l'exemple suivant :
86,400,000,000 / 1,024 / 1,024 = 82,397
Il s'agit de la valeur qui serait renvoyée par la colonne BILLABLE_TOTAL_PHYSICAL_USAGE
.
Pour en savoir plus, consultez les détails des tarifs de stockage.
Autorisations requises
Pour interroger la vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
, vous avez besoin des autorisations IAM (Identity and Access Management) suivantes :
bigquery.tables.get
bigquery.tables.list
Chacun des rôles IAM prédéfinis suivants inclut les autorisations ci-dessus :
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.admin
Pour les requêtes avec un qualificatif de région, vous devez disposer des autorisations nécessaires sur le projet.
Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.
Schéma
La vue INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE
présente le schéma suivant :
USAGE_DATE |
DATE |
Date de facturation pour les octets affichés |
PROJECT_ID |
STRING |
ID du projet qui contient l'ensemble de données |
TABLE_CATALOG |
STRING |
ID du projet qui contient l'ensemble de données |
PROJECT_NUMBER |
INT64 |
Numéro du projet contenant l'ensemble de données |
TABLE_SCHEMA |
STRING |
Nom de l'ensemble de données contenant la table ou la vue matérialisée, également appelé datasetId |
TABLE_NAME |
STRING |
Nom de la table ou de la vue matérialisée, également appelé tableId |
BILLABLE_TOTAL_LOGICAL_USAGE |
INT64 |
Utilisation logique totale, en Mo. Renvoie 0 si l'ensemble de données utilise le modèle de facturation du stockage physique. |
BILLABLE_ACTIVE_LOGICAL_USAGE |
INT64 |
Utilisation logique datant de moins de 90 jours, en Mo/s. Renvoie 0 si l'ensemble de données utilise le modèle de facturation du stockage physique. |
BILLABLE_LONG_TERM_LOGICAL_USAGE |
INT64 |
Utilisation logique datant de plus de 90 jours, en Mo/s. Renvoie 0 si l'ensemble de données utilise le modèle de facturation du stockage physique. |
BILLABLE_TOTAL_PHYSICAL_USAGE |
INT64 |
Utilisation totale, en Mo/s. Cela inclut les octets physiques utilisés pour le stockage sécurisé et le stockage temporel. Renvoie 0 si l'ensemble de données utilise le modèle de facturation de stockage logique. |
BILLABLE_ACTIVE_PHYSICAL_USAGE |
INT64 |
Utilisation physique datant de moins de 90 jours, en Mo/s. Cela inclut les octets physiques utilisés pour le stockage sécurisé et le stockage temporel. Renvoie 0 si l'ensemble de données utilise le modèle de facturation de stockage logique. |
BILLABLE_LONG_TERM_PHYSICAL_USAGE |
INT64 |
Utilisation physique datant de plus de 90 jours, en Mo/s. Renvoie 0 si l'ensemble de données utilise le modèle de facturation de stockage logique. |
Champ d'application et syntaxe
Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région. Le tableau suivant explique le champ d'application de la région pour cette vue :
Nom de la vue | Champ d'application de la ressource | Champ d'application de la région |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE[_BY_PROJECT] |
Niveau Projet | REGION |
- Facultatif :
PROJECT_ID
: ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.
REGION
: nom de la région de l'ensemble de données.
Par exemple, region-us
.
L'exemple suivant montre comment renvoyer des informations de stockage pour les tables d'un projet spécifié :
SELECT * FROM myProject.`region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
L'exemple suivant montre comment renvoyer des informations de stockage pour les tables d'une région spécifiée :
SELECT * FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE;
Exemples
Exemple 1
L'exemple suivant additionne l'utilisation de l'espace de stockage par jour pour les projets situés dans une région spécifiée.
SELECT usage_date, project_id, SUM(billable_total_logical_usage) AS billable_total_logical_usage, SUM(billable_active_logical_usage) AS billable_active_logical_usage, SUM(billable_long_term_logical_usage) AS billable_long_term_logical_usage, SUM(billable_total_physical_usage) AS billable_total_physical_usage, SUM(billable_active_physical_usage) AS billable_active_physical_usage, SUM(billable_long_term_physical_usage) AS billable_long_term_physical_usage FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE GROUP BY 1, 2 ORDER BY usage_date;
Le résultat ressemble à ce qui suit :
+-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | usage_date | project_id | billable_total_logical_usage | billable_active_logical_usage | billable_long_term_logical_usage | billable_total_physical_usage | billable_active_physical_usage | billable_long_term_physical_usage | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-03 | project_A | 305085738096 | 7667321458 | 297418416638 | 74823954823 | 124235724 | 74699719099 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-04 | project_A | 287033241105 | 7592334614 | 279440906491 | 75071991788 | 200134561 | 74871857227 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-03 | project_B | 478173930912 | 8137372626 | 470036558286 | 0 | 0 | 0 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+ | 2023-04-04 | project_B | 496648915405 | 7710451723 | 488938463682 | 0 | 0 | 0 | +-------------------------+------------------------------+-------------------------------+-----------------------------------+-------------------------------+--------------------------------+-------------------------------------+
Exemple 2
L'exemple suivant montre l'utilisation de l'espace de stockage pour un jour spécifié pour les tables d'un ensemble de données utilisant un stockage logique.
SELECT usage_date, table_schema, table_name, billable_total_logical_usage FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE WHERE project_id = 'PROJECT_ID' AND table_schema = 'DATASET_NAME' AND usage_date = 'USAGE_DATE' ORDER BY billable_total_logical_usage DESC;
Le résultat ressemble à ce qui suit :
+--------------+--------------+------------+------------------------------+ | usage_date | table_schema | table_name | billable_total_logical_usage | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_4 | 734893409201 | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_1 | 690070445455 | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_3 | 52513713981 | +--------------+--------------+------------+------------------------------+ | 2023-04-03 | dataset_A | table_2 | 8894535355 | +--------------+--------------+------------+------------------------------+
Exemple 3
L'exemple suivant montre l'utilisation de l'espace de stockage pour la date d'utilisation la plus récente pour les tables d'un ensemble de données utilisant un stockage physique.
SELECT usage_date, table_schema, table_name, billable_total_physical_usage FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY project_id, table_schema, table_name ORDER BY usage_date DESC) AS rank FROM `region-REGION`.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE ) WHERE rank = 1 AND project_id = 'PROJECT_ID' AND table_schema ='DATASET_NAME' ORDER BY usage_date;
Le résultat ressemble à ce qui suit :
+--------------+--------------+------------+-------------------------------+ | usage_date | table_schema | table_name | billable_total_physical_usage | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_4 | 345788341123 | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_1 | 0 | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_3 | 9123481400212 | +--------------+--------------+------------+-------------------------------+ | 2023-04-12 | dataset_A | table_2 | 1451334553 | +--------------+--------------+------------+-------------------------------+
Exemple 4
L'exemple suivant joint les vues TABLE_OPTIONS
et TABLE_STORAGE_USAGE_TIMELINE
pour obtenir des détails sur l'utilisation de l'espace de stockage en fonction des tags.
SELECT * FROM region-REGION.INFORMATION_SCHEMA.TABLE_OPTIONS INNER JOIN region-REGION.INFORMATION_SCHEMA.TABLE_STORAGE_USAGE_TIMELINE USING (TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME) WHERE option_name='tags' AND CONTAINS_SUBSTR(option_value, '(\"tag_namespaced_key\", \"tag_namespaced_value\")')