Exporter des données de facturation vers BigQuery

Les outils de surveillance, d'analyse et d'optimisation des coûts sont devenus des éléments importants de la gestion des développements. L'exportation de la facturation vers BigQuery vous permet d'exporter automatiquement vos estimations quotidiennes d'utilisation et de coût tout au long de la journée vers un ensemble de données BigQuery que vous indiquez. Vous pouvez ensuite accéder à vos données de facturation dans BigQuery. Cette fonctionnalité vous permet aussi d'exporter des données vers un fichier JSON.

L'exportation standard des données vers un fichier CSV ou JSON est également disponible. Sachez cependant que cette méthode capture un ensemble de données plus petit que l'exportation vers BigQuery. Pour en savoir plus sur l'exportation standard vers des fichiers et les données collectées, consultez la page Exporter des données de facturation vers un fichier.

Activer l'exportation de la facturation vers BigQuery

Pour activer l'exportation de la facturation vers BigQuery, procédez comme suit :

  1. Accédez à la console Google Cloud Platform.
  2. Ouvrez le menu sur la gauche, puis sélectionnez Facturation.
  3. Si vous disposez de plusieurs comptes de facturation, sélectionnez Accéder au compte de facturation associé pour gérer la facturation du projet actuel. Pour trouver un autre compte de facturation, sélectionnez Gérer les comptes de facturation.
  4. Cliquez sur Exportation de la facturation.
  5. Sélectionnez Exportation vers BigQuery.
  6. Dans la liste Projet, sélectionnez le projet dans lequel votre ensemble de données BigQuery est stocké. Si vous n'avez pas encore créé d'ensemble de données BigQuery, il vous sera demandé de le faire.
  7. Le cas échéant, pour créer un ensemble de données, procédez comme suit :

    1. Dans l'interface utilisateur Web de BigQuery, cliquez sur la flèche vers le bas à côté du nom de votre projet, puis sélectionnez Créer un nouvel ensemble de données.
    2. Spécifiez l'ID de l'ensemble de données, l'Emplacement des données et le Délai d'expiration des données pour votre ensemble de données, puis cliquez sur OK.
  8. Accédez à la console. Dans la liste Ensemble de données pour l'exportation de la facturation, indiquez l'ensemble de données vers lequel exporter vos données. Si vous venez d'en créer un, sélectionnez-le.

  9. Cliquez sur Activer l'exportation vers BigQuery.

Une fois que vous avez activé l'exportation vers BigQuery, l'affichage de vos données peut prendre quelques heures. Vos données de facturation sont automatiquement exportées vers BigQuery à intervalles réguliers. Toutefois, leur fréquence de mise à jour dans BigQuery varie en fonction des services que vous utilisez. Notez que les tâches de chargement BigQuery sont conformes ACID et que les données ne seront donc que partiellement chargées si vous envoyez une requête à l'ensemble de données d'exportation de la facturation BigQuery pendant que des données sont en train d'y être chargées. En savoir plus sur les caractéristiques BigQuery

À propos des versions des tables d'exportation des données de facturation (versions d'origine et v1)

Selon la date d'activation de l'exportation des données vers BigQuery, plusieurs tables peuvent s'afficher dans votre ensemble de données. Si vous avez activé l'exportation des données vers BigQuery après sa date de commercialisation générale (mi-novembre 2017), seule la version v1 des données s'affiche. Vous pouvez ignorer le reste de cette section.

Si vous avez activé l'exportation des données vers BigQuery pendant la phase bêta, vos données de facturation exportées sont présentées dans deux tables distinctes dans votre ensemble de données. Les tables contiennent deux versions différentes des mêmes données : la version d'origine et la nouvelle version v1.

Nous allons continuer à proposer ces deux formats aux participants au test bêta pendant une période limitée, afin qu'ils puissent toujours analyser leurs données de facturation lors de la migration vers le schéma v1. Nous exporterons automatiquement les nouvelles données de facturation vers les deux tables BigQuery dès qu'elles seront disponibles.

La version est indiquée dans le nom des tables :

  • Version d'origine : gcp_billingexportBILLING_ACCOUNT_ID
  • Version v1 : gcp_billing_exportv1BILLING_ACCOUNT_ID

Différences entre la version d'origine et la version v1

Nous avons apporté plusieurs modifications au schéma d'exportation. Nous avons changé le nom de certaines colonnes afin qu'elles soient cohérentes avec les autres services Google Cloud Platform, et nous avons ajouté des colonnes afin d'inclure d'autres informations utiles relatives à vos coûts.

Récapitulatif des modifications apportées au schéma :

  • Nom de la colonne product remplacé par service.description
  • Nom de la colonne resource_type remplacé par sku.description
  • Nom des colonnes start_time et end_time remplacé par usage_start_time et usage_end_time
  • Ajout de la colonne service.id
  • Ajout de la colonne sku.id
  • Ajout de la colonne export_time

Vous pouvez vous servir de la colonne sku.id pour faire correspondre les lignes de votre facture aux prix catalogue indiqués sur les pages relatives aux tarifs de Google Cloud Platform et via l'API du catalogue de facturation Cloud. Consultez la colonne export_time pour connaître la date et l'heure de la dernière mise à jour des données de facturation.

Données de facturation dans BigQuery

Le tableau suivant contient la description du contenu des données de facturation exportées vers BigQuery.

Champ Type Description
billing_account_id Chaîne ID du compte de facturation auquel l'utilisation est associée.
invoice.month Chaîne

Année et mois (AAAAMM) de la facture qui inclut les lignes de coûts. Par exemple : "201901" équivaut à janvier 2019.

Vous pouvez utiliser ce champ pour obtenir le total des frais sur la facture. Consultez Exemples de requêtes BigQuery sur des données de facturation exportées.

cost_type Chaîne

Type de coût représenté par ce poste : erreur standard, de taxe, d'ajustement ou d'arrondi.

service.id (version v1 uniquement) Chaîne ID du service auquel l'utilisation est associée.
service.description (version v1)
product (version d'origine)
Chaîne Service Google Cloud Platform ayant généré les données de facturation.
sku.id (version v1 uniquement) Chaîne ID de la ressource utilisée par le service. Pour connaître la liste complète des SKU, consultez la page relative aux SKU de GCP.
sku.description (version v1)
resource_type (version d'origine)
Chaîne Description du type de ressource utilisé par le service. Stockage standard aux États-Unis pour un type de ressource Cloud Storage, par exemple.
usage_start_time (version v1)
start_time (version d'origine)
Horodatage Horodatage UNIX indiquant la date et l'heure de début de l'utilisation du service. Pour en savoir plus, accédez à la documentation BigQuery relative aux types de données d'horodatage. Consultez également la section Différences entre les données exportées et les factures ci-dessous.
usage_end_time (version v1)
end_time (version d'origine)
Horodatage Horodatage UNIX indiquant la date et l'heure de fin de l'utilisation du service. Pour en savoir plus, accédez à la documentation BigQuery relative aux types de données d'horodatage. Consultez également la section Différences entre les données exportées et les factures ci-dessous.
project.id Chaîne ID du projet ayant généré les données de facturation.
project.name Chaîne Nom du projet ayant généré les données de facturation.
project.ancestry_numbers Chaîne Ancêtres de la hiérarchie des ressources pour le projet identifié par le project.id spécifié (par exemple, my-project-123).

Par exemple : /ParentOrgNumber/ParentFolderNumber/. En savoir plus sur la hiérarchie des ressources.

project.labels.key Chaîne Clé de la paire valeur/clé comportant le libellé sur le projet associé à l'utilisation (si des libellés ont été définis). Pour en savoir plus sur les libellés, consultez la page Utiliser des libellés.
project.labels.value Chaîne Valeur de la paire valeur/clé comportant le libellé sur le projet associé à l'utilisation (si des libellés ont été définis). Pour en savoir plus sur les libellés, consultez la page Utiliser des libellés.
labels.key Chaîne Clé de la paire valeur/clé comportant le libellé sur la ressource associée à l'utilisation (si des libellés ont été définis). Pour en savoir plus sur les libellés, consultez la page Utiliser des libellés.
labels.value Chaîne Valeur de la paire valeur/clé comportant le libellé sur la ressource associée à l'utilisation (si des libellés ont été définis). Pour en savoir plus sur les libellés, consultez la page Utiliser des libellés.
system_labels.key Chaîne Clé de la paire valeur/clé comportant le libellé généré par le système sur la ressource associée à l'utilisation (si des libellés système ont été définis). Consultez également la section Libellés système disponibles plus loin dans cette page.
system_labels.value Chaîne Valeur de la paire valeur/clé comportant le libellé généré par le système sur la ressource associée à l'utilisation (si des libellés système ont été définis). Consultez également la section Libellés système disponibles plus loin dans cette page.
location.location Chaîne Lieu d'utilisation, à savoir le pays, la région ou la zone ; ou global pour les ressources sans emplacement spécifique. Pour plus d'informations, consultez la page Régions et zones.
location.country Chaîne Lorsque location.location est un pays, une région ou une zone, ce champ correspond au pays d'utilisation, par exemple US. Pour plus d'informations, consultez la page Régions et zones.
location.region Chaîne Lorsque location.location est un pays ou une région, ce champ correspond à la région d'utilisation, par exemple us-central1. Pour plus d'informations, consultez la page Régions et zones.
location.zone Chaîne Lorsque location.location est une zone, ce champ correspond à la zone d'utilisation, par exemple us-central1-a. Pour plus d'informations, consultez la page Régions et zones.
cost Nombre à virgule flottante Coût de l'utilisation avant tout crédit. Pour obtenir le coût net des crédits, tous les champs credits.amount doivent être ajoutés au coût. Pour en savoir plus, consultez cet exemple de requête.
currency Chaîne Devise dans laquelle les coûts sont facturés. Pour en savoir plus, consultez la page Devise locale pour la facturation et les paiements.
currency_conversion_rate Nombre à virgule flottante Taux de change du dollar américain dans la devise locale. Autrement dit, cost/currency_conversion_rate est égal au montant des coûts en dollar américain.
usage.amount Nombre à virgule flottante Quantité d'unités usage.unit utilisées.
usage.unit Chaîne Unité de base dans laquelle l'utilisation des ressources est mesurée. Par exemple, l'unité de base pour le stockage standard est l'octet par seconde.
usage.amount_in_pricing_units Nombre à virgule flottante Quantité d'unités usage.pricing_unit utilisées. Ce champ renvoie les données depuis le 22 janvier 2018.
usage.pricing_unit Chaîne Unité dans laquelle l'utilisation des ressources est mesurée, conformément à l'API Catalog (actuellement disponible en version bêta). Ce champ renvoie les données depuis le 22 janvier 2018.
credits.name Chaîne Description du crédit appliqué au compte de facturation.
credits.amount Nombre à virgule flottante Montant du crédit appliqué à l'utilisation. Les crédits sont toujours des montants négatifs.
export_time (version v1 uniquement) Horodatage Temps de traitement associé aux données ajoutées. Cette valeur augmente toujours à chaque nouvelle exportation.
Consultez également la section Différences entre les données exportées et les factures ci-dessous.

À propos des libellés

Vous verrez des colonnes pour les libellés dans votre ensemble de données BigQuery. Toutefois, certaines valeurs de libellés sont vides dans la version actuelle. Les données exportées pour les libellés seront insérées à différents moments pour divers services, en fonction de la date à laquelle chaque service les fournit.

Libellés système disponibles

Les libellés système sont des paires valeur/clé pour des métadonnées importantes concernant la ressource qui a généré l'utilisation. Les libellés système suivants sont automatiquement inclus dans l'utilisation applicable.

system_labels.key Exemple system_labels.value Description
compute.googleapis.com/machine_spec n1-standard-1, custom-2-2048 Configuration de la machine virtuelle. Pour plus d'informations, consultez la page Types de machines.
compute.googleapis.com/cores 4 pour n1-standard-4 ; 2 pour custom-2-2048 Nombre de processeurs virtuels disponibles sur la machine virtuelle
compute.googleapis.com/memory 15360 pour n1-standard-4 (soit 15 Go * 1024 Mo/Go) ; 2048 pour custom-2-2048 Quantité de mémoire (en Mo) disponible sur la machine virtuelle

Différences entre les données exportées et les factures

Les requêtes sur les champs d'horodatage peuvent inclure une utilisation constatée après l'émission de votre facture, et par conséquent, les données renvoyées peuvent ne pas correspondre exactement à celle-ci.

Les champs d'horodatage comprennent les suivants :

  • usage_start_time (version v1) ou start_time (version d'origine)
  • usage_end_time (version v1) ou end_time (version d'origine)
  • export_time

Erreurs et ajustements

Dans le cas peu probable où vos données de facturation contiendraient une erreur ou nécessiteraient un ajustement, sachez que d'autres données seront ajoutées afin de corriger l'erreur. Les valeurs de toutes les colonnes resteront les mêmes, sauf pour les suivantes :

  • cost
  • credit
  • usage.amount
  • export_time

Si vous devez identifier les nouvelles données, vous pouvez interroger les données de la colonne export_time (version v1 uniquement). Pour la version d'origine, vous pouvez utiliser une requête semblable à l'exemple suivant :

SELECT partition_id, MSEC_TO_TIMESTAMP(last_modified_time)
FROM [dataset_name.table_name$__PARTITIONS_SUMMARY__]

Pour l'exemple de requête ci-dessus, vous devez utiliser l'ancien SQL, car le SQL standard n'est pas compatible avec le séparateur de décorateur de partition ($).

Cette page vous a-t-elle été utile ? Évaluez-la :