Abrechnungsdaten in BigQuery exportieren

Tools für die Kostenüberwachung, -analyse und -optimierung sind in der Entwicklung ein wichtiger Verwaltungsbestandteil geworden. Mit dem Abrechnungsexport in BigQuery können Sie Schätzungen hinsichtlich der täglichen Nutzung und Kosten automatisch den ganzen Tag über in ein von Ihnen festgelegtes BigQuery-Dataset exportieren. Ihre Abrechnungsdaten können Sie anschließend in BigQuery aufrufen. Mit dieser Exportmethode lassen sich Daten auch in eine JSON-Datei exportieren.

Die reguläre Dateiexportfunktion für das CSV- und JSON-Format ist ebenfalls verfügbar. Mit dieser Funktion wird jedoch ein kleineres Dataset als beim Export in BigQuery erfasst. Weitere Informationen zur regulären Dateiexportfunktion und den damit erfassten Daten finden Sie unter Abrechnungsdaten in Datei exportieren.

Abrechnungsexport in BigQuery aktivieren

So aktivieren Sie den Abrechnungsexport in BigQuery:

  1. Rufen Sie die Google Cloud Platform Console auf.
  2. Öffnen Sie links in der Console das Menü (menu) und klicken Sie auf Abrechnung.
  3. Wenn Sie mehrere Rechnungskonten haben und die Abrechnung des aktuellen Projekts verwalten möchten, wählen Sie Zum verknüpften Rechnungskonto aus. Wählen Sie zum Aufrufen eines anderen Rechnungskontos Rechnungskonten verwalten aus.
  4. Klicken Sie links im Menü "Abrechnung" auf Abrechnungsexport.
  5. Wählen Sie den Tab BigQuery-Export aus.
  6. Klicken Sie auf Einstellungen bearbeiten, um den Export zu aktivieren und die Exporteinstellungen zu aktualisieren.
  7. Wählen Sie in der Liste Projekt das Projekt aus, in dem das BigQuery-Dataset gespeichert ist. Wenn Sie noch kein BigQuery-Dataset erstellt haben, werden Sie aufgefordert, dies zu tun.
  8. So erstellen Sie bei Bedarf ein Dataset:

    1. Klicken Sie in der BigQuery-Web-UI auf den Abwärtspfeil neben dem Projektnamen und dann auf Neues Dataset erstellen.
    2. Geben Sie die Dataset-ID, den Speicherort der Daten und den Datenablauf des Datasets ein und klicken Sie auf OK.
  9. Legen Sie in der Konsole in der Liste Dataset für Abrechnungsexport ein Dataset fest, in das die Daten exportiert werden sollen. Wenn Sie soeben ein Dataset erstellt haben, wählen Sie dessen Namen aus.

  10. Klicken Sie auf Speichern.

Nach der Aktivierung des BigQuery-Exports kann es mehrere Stunden dauern, bis Sie Ihre Daten sehen. Ihre Daten werden automatisch in regelmäßigen Abständen in BigQuery exportiert. Die Häufigkeit der Aktualisierungen in BigQuery hängt jedoch von den Diensten ab, die Sie verwenden. BigQuery-Ladevorgänge sind ACID-kompatibel. Wenn Sie das BigQuery-Dataset für den Abrechnungsexport abfragen, während Daten geladen werden, werden Sie daher keine teilweise geladenen Daten vorfinden. Weitere Informationen zu BigQuery

Tabellenversionen für den Export von Abrechnungsdaten: Original und V1

Abhängig davon, wann Sie den Datenexport in BigQuery aktiviert haben, enthält Ihr Dataset möglicherweise mehrere Tabellen. Wenn Sie den Datenexport in BigQuery nach der Veröffentlichung der Funktion als GA (Mitte November 2017) aktiviert haben, wird nur Version V1 angezeigt. In diesem Fall können Sie den Rest dieses Abschnitts ignorieren.

Wenn Sie den Datenexport in BigQuery aktiviert haben, während sich die Funktion in der Beta-Phase befand, wurden die exportierten Abrechnungsdaten in zwei verschiedene Tabellen in Ihrem Dataset übermittelt. Die Tabellen enthielten zwei verschiedene Versionen derselben Daten: die Originalversion und die neue Version V1.

Beta-Teilnehmern standen für begrenzte Zeit beide Formate zur Verfügung, damit Sie Ihre Abrechnungsdaten während des Wechsels zum V1-Schema weiter analysieren konnten. Neue Abrechnungsdaten wurden anschließend automatisch in beide BigQuery-Tabellen exportiert.

Die Datenversion wird durch die Tabellennamen angegeben:

  • Originalversion: gcp_billing_export_BILLING_ACCOUNT_ID
  • Version V1: gcp_billing_export_v1_BILLING_ACCOUNT_ID

Unterschiede zwischen Originalversion und V1

Wir haben diverse Änderungen am Exportschema vorgenommen. Manche Spalten wurden zur Aufrechterhaltung der Konsistenz mit der übrigen Google Cloud Platform umbenannt. Außerdem wurden weitere Spalten mit nützlichen Informationen zu Ihren Kosten hinzugefügt.

Zusammenfassung der Schemaänderungen:

  • Die Spalte product wurde in service.description umbenannt.
  • Die Spalte resource_type wurde in sku.description umbenannt.
  • Die Spalten start_time und end_time wurden in usage_start_time und usage_end_time umbenannt.
  • Die Spalte service.id wurde hinzugefügt.
  • Die Spalte sku.id wurde hinzugefügt.
  • Die Spalte export_time wurde hinzugefügt.

Mit der Spalte sku.id können Sie die einzelnen Positionen den auf den Google Cloud Platform-Preisseiten und über die Cloud Billing Catalog API veröffentlichten Listenpreisen zuordnen. In der Spalte export_time sehen Sie, wann die Rechnungsdaten zuletzt aktualisiert wurden.

Abrechnungsdaten in BigQuery

In der folgenden Tabelle werden die Inhalte der in BigQuery exportierten Abrechnungsdaten erläutert.

Feld Typ Beschreibung
billing_account_id String Die Rechnungskonto-ID, der die Nutzung zugeordnet ist.
invoice.month String

Das Jahr und der Monat (JJJJMM) der Rechnung, die die Kostenpositionen enthält. Beispiel: "201901" entspricht Januar 2019.

Mithilfe dieses Feldes können Sie die Gesamtsumme der Rechnung abrufen. Abrechnungsexport in BigQuery – Abfragebeispiele

cost_type String

Die Art der Kosten dieser Position: regelmäßige Kosten, Steuern, Korrekturen oder Rundungsfehler.

service.id (nur V1) String Die ID des Dienstes, mit dem die Nutzung verknüpft ist.
service.description (V1)
product (Original)
String Der Google Cloud Platform-Dienst, von dem die Abrechnungsdaten gemeldet wurden.
sku.id (nur V1) String Die ID der vom Dienst verwendeten Ressource. Eine vollständige Liste der SKUs finden Sie unter GCP-SKUs.
sku.description (V1)
resource_type (Original)
String Eine Beschreibung des vom Dienst verwendeten Ressourcentyps. Ein Ressourcentyp für Cloud Storage ist beispielsweise der Standardspeicher für den US-Standort.
usage_start_time (V1)
start_time (Original)
Zeitstempel Ein UNIX-Zeitstempel, der den Beginn der Dienstnutzung angibt. Weitere Informationen finden Sie in der BigQuery-Dokumentation unter Zeitstempeltyp. Weitere Informationen finden Sie außerdem unten im Abschnitt Unterschiede zwischen exportierten Daten und Rechnungen.
usage_end_time (V1)
end_time (Original)
Zeitstempel Ein UNIX-Zeitstempel, der das Ende der Dienstnutzung angibt. Weitere Informationen finden Sie in der BigQuery-Dokumentation unter Zeitstempeltyp. Weitere Informationen finden Sie außerdem unten im Abschnitt Unterschiede zwischen exportierten Daten und Rechnungen.
project.id String Die ID des Projekts, von dem die Abrechnungsdaten generiert wurden.
project.name String Der Name des Projekts, von dem die Abrechnungsdaten generiert wurden.
project.ancestry_numbers String Die Ancestors in der Ressourcenhierarchie für das Projekt, welches durch die angegebene project.id, z. B. "my-project-123", identifiziert wird.

Beispiel: /ParentOrgNumber/ParentFolderNumber/. Weitere Informationen finden Sie im Artikel zur Ressourcenhierarchie.

project.labels.key String Wenn Labels vorhanden sind, ist dies der Schlüsselteil des Schlüssel/Wert-Paars, der für das Label des Projekts verwendet wird, in dem die Nutzung erfolgte. Weitere Informationen zum Verwenden von Labels finden Sie im Abschnitt Labels verwenden.
project.labels.value String Wenn Labels vorhanden sind, ist dies der Wertteil des Schlüssel/Wert-Paars, der für das Label des Projekts verwendet wird, in dem die Nutzung erfolgte. Weitere Informationen zum Verwenden von Labels finden Sie im Abschnitt Labels verwenden.
labels.key String Wenn Labels vorhanden sind, ist dies der Schlüsselteil des Schlüssel/Wert-Paars, der für das Label der Ressource verwendet wird, in dem die Nutzung erfolgte. Weitere Informationen zum Verwenden von Labels finden Sie im Abschnitt Labels verwenden.
labels.value String Wenn Labels vorhanden sind, ist dies der Wertteil des Schlüssel/Wert-Paars, der für das Label der Ressource verwendet wird, in der die Nutzung erfolgte. Weitere Informationen zum Verwenden von Labels finden Sie im Abschnitt Labels verwenden.
system_labels.key String Wenn Labels vorhanden sind, ist dies der Schlüsselteil des Schlüssel/Wert-Paars, der für das Label der Ressource verwendet wird, in dem die Nutzung erfolgte. Siehe unten: Verfügbare Systemlabels.
system_labels.value String Wenn Labels vorhanden sind, ist dies der Schlüsselteil des Schlüssel/Wert-Paars, der für das Label der Ressource verwendet wird, in dem die Nutzung erfolgte. Siehe unten: Verfügbare Systemlabels.
location.location String Standort der Nutzung auf der Ebene eines Landes, einer Region oder einer Zone bzw. global für Ressourcen, die keinen festen Standort haben. Weitere Informationen finden Sie unter Regionen und Zonen.
location.country String Wenn location.location ein Land, eine Region oder eine Zone ist, beschreibt dieses Feld das Nutzungsland, z. B. US. Weitere Informationen finden Sie unter Regionen und Zonen.
location.region String Wenn location.location ein Land oder eine Region ist, beschreibt dieses Feld die Nutzungsregion, z. B. us-central1. Weitere Informationen finden Sie unter Regionen und Zonen.
location.zone String Wenn location.location eine Zone ist, beschreibt dieses Feld die Nutzungszone, z. B. us-central1-a. Weitere Informationen finden Sie unter Regionen und Zonen.
cost Fließkommazahl Die Kosten für die Nutzung abzüglich Gutschriften. Zum Berechnen der Kosten abzüglich Gutschriften addieren Sie jeglichen credits.amount zu den Kosten. Weitere Informationen finden Sie in dieser Beispielabfrage.
currency String Die Währung, in der die Gebühren abgerechnet werden. Weitere Informationen finden Sie unter Lokale Währung für Abrechnung und Zahlungen.
currency_conversion_rate Fließkommazahl Der Wechselkurs von US-Dollar in die lokale Währung. Das heißt, cost/currency_conversion_rate gibt die Kosten in US-Dollar an.
usage.amount Fließkommazahl Die Menge der genutzten Nutzungseinheiten (usage.unit).
usage.unit String Die Basiseinheit, in der die Ressourcennutzung gemessen wird. Die Basiseinheit für Standardspeicher ist beispielsweise Byte-Sekunden.
usage.amount_in_pricing_units Fließkommazahl Die Menge der genutzten Nutzungseinheiten (usage.pricing_unit). Dieses Feld enthält Daten vom 22. Januar 2018 bis heute.
usage.pricing_unit String Die Einheit, in der die Ressourcennutzung gemäß der Catalog API (derzeit in der Betaversion) gemessen wird. Dieses Feld enthält Daten vom 22. Januar 2018 bis heute.
credits.name String Eine Beschreibung des einem Rechnungskonto zugewiesenen Guthabens.
credits.amount Fließkommazahl Der für die Nutzung berechnete Gutschriftenbetrag. Gutschriften sind immer negative Beträge.
export_time (nur V1) Zeitstempel Eine mit neu angehängten Daten verknüpfte Verarbeitungszeit. Diese verlängert sich mit jedem neuen Export.
Weitere Informationen finden Sie außerdem unten unter Unterschiede zwischen exportierten Daten und Rechnungen.

Über Labels

Sie sehen im BigQuery-Dataset Spalten für Labels, die in der aktuellen Version mitunter keine Labelwerte enthalten. Labelexportdaten werden für unterschiedliche Dienste zu unterschiedlichen Zeiten ausgefüllt. Dies hängt davon ab, wann die einzelnen Dienste die Daten bereitstellen.

Verfügbare Systemlabels

Systemlabels sind Schlüssel/Wert-Paare für wichtige Metadaten zu der Ressource, mit der die Nutzung generiert wurde. Die folgenden Systemlabels sind bei der jeweiligen Nutzung automatisch enthalten.

system_labels.key Beispiel system_labels.value Beschreibung
compute.googleapis.com/machine_spec n1-standard-1, custom-2-2048 Konfiguration der virtuellen Maschine. Weitere Informationen finden Sie unter Maschinentypen.
compute.googleapis.com/cores Für n1-Standard-4 ist dies 4; für custom-2-2048 ist dies 2 Die Anzahl der vCPUs, die der virtuellen Maschine zur Verfügung stehen.
compute.googleapis.com/memory Für n1-Standard-4 ist dies 1.5360 (15 GB * 1.024 MB/GB); für custom-2-2048 ist dies 2.048 Die Speicherkapazität (in MB), die der virtuellen Maschine zur Verfügung steht.

Unterschiede zwischen exportierten Daten und Rechnungen

Abfragen von Zeitstempelfeldern können nach dem Abrechnungszyklus gemeldete Nutzungsdaten enthalten und entsprechen daher nicht unbedingt genau Ihrer Rechnung.

Zu den Zeitstempelfeldern gehören:

  • usage_start_time (V1) oder start_time (Original)
  • usage_end_time (V1) oder end_time (Original)
  • export_time

Fehler und Korrekturen

Falls die Abrechnungsdaten einen Fehler enthalten oder angepasst werden müssen, werden Ihren Abrechnungsdaten zur Korrektur des Fehlers weitere Daten hinzugefügt. Alle Spalten bleiben gleich, mit Ausnahme von:

  • cost
  • credit
  • usage.amount
  • export_time

Wenn Sie ermitteln möchten, welche Daten neu sind, fragen Sie die Spalte export_time ab (nur V1). Für die Originalversion können Sie beispielsweise die folgende Abfrage verwenden:

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

Verwenden Sie für das obige Abfragebeispiel Legacy-SQL, da Standard-SQL das Partitions-Decorator-Trennzeichen ($) nicht unterstützt.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Cloud Billing-Dokumentation