Struktur des Standarddatenexports

Dieses Dokument enthält Referenzinformationen zum Schema der Cloud Billing-Standardnutzungskosten, die in jede Tabelle in BigQuery exportiert werden.

Schema der Standardnutzungskosten

In Ihrem BigQuery-Dataset werden Standardinformationen zu den Google Cloud-Nutzungskosten in eine Datentabelle mit dem Namen gcp_billing_export_v1_<BILLING_ACCOUNT_ID> geladen.

Im Folgenden wird das Schema der Standardnutzungskosten von Google Cloud beschrieben, die nach BigQuery exportiert werden. Das Schema enthält Standardinformationen zur Kostennutzung eines Cloud-Rechnungskonto wie Konto-ID, Rechnungsdatum, Dienste, SKUs, Projekte, Labels, Standorte, Kosten, Nutzung, Gutschriften, Korrekturen und Währung.

Beachten Sie bei der Verwendung von standardmäßigen Nutzungskostendaten in BigQuery Folgendes:

  • Beim Auswählen oder Erstellen eines BigQuery-Datasets für Ihre standardmäßigen Nutzungskostendaten können Sie einen beliebigen Dataset-Standort auswählen, der für die Verwendung mit Cloud Billing-Daten unterstützt wird.
  • Wenn Sie den Export der standardmäßigen Nutzungskostendaten in Cloud Billing zum ersten Mal aktivieren und ein Dataset auswählen, das für die Verwendung eines multiregionalen Standorts (EU oder US) konfiguriert ist, sind Cloud Billing-Daten rückwirkend ab dem Beginn des Vormonats verfügbar. Daten werden in chronologischer Reihenfolge exportiert. Beim ersten Backfill exportierter Daten kann es bis zu fünf Tage dauern, bis die reaktiven Cloud Billing-Daten abgeschlossen sind und die neuesten Nutzungsdaten angezeigt werden.
  • Wenn Sie den Export der standardmäßigen Nutzungskostendaten aktivieren und ein Dataset auswählen, das für die Verwendung eines unterstützten regionalen Standorts konfiguriert ist, sind Ihre Cloud Billing-Daten ab dem Datum verfügbar, an dem Sie den Export aktiviert haben.
  • Wenn Sie den Export der standardmäßigen Nutzungskosten aktiviert, deaktiviert und anschließend wieder aktiviert haben, sind die Cloud Billing-Daten für den Zeitraum, in dem sie explizit deaktiviert wurden, möglicherweise nicht verfügbar.
  • Weitere Informationen zur Häufigkeit, mit der Daten in Ihre BigQuery-Tabellen geladen werden.
  • Die Standardnutzungskosten enthalten keine Kostendaten auf Ressourcenebene wie virtuelle Maschinen oder SSDs, die eine Dienstnutzung generieren. Wenn Sie Kostendaten auf Ressourcenebene zur Analyse in BigQuery exportieren möchten, sollten Sie den Export der detaillierten Nutzungskostendaten aktivieren. Die exportierten detaillierten Nutzungskosten enthalten alle Felder und Informationen, die in den Standardnutzungskosten enthalten sind.
  • Weitere Einschränkungen, die sich auf den Export von Abrechnungsdaten in BigQuery auswirken können, z. B. Datasets mit aktivierten vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK).
Feld Typ Beschreibung
billing_account_id String

Die Cloud-Rechnungskonto-ID, mit der die Nutzung verknüpft ist.

Für Reseller: Dies ist die ID eines Cloud-Rechnungsunterkontos, für das die Nutzungskosten generiert werden, und nicht die ID des übergeordneten Cloud-Rechnungskontos des Resellers.

invoice.month String

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

Mit diesem Feld können Sie die Gesamtkosten der Rechnung abrufen. Cloud Billing-Export in BigQuery – Abfragebeispiele

invoice.publisher_type String

Der Publisher, der mit der Transaktion verknüpft ist. Mit diesem Feld können Sie Rechnungen in Transaktionen aufteilen, die direkt mit Google (eigene Daten) und Transaktionen mit einem Partner (Drittanbieter) ausgeführt wurden. Außerdem wird angegeben, welche Bestimmungen möglicherweise auf die Transaktion zutreffen.

Die möglichen Werte sind:
  • GOOGLE: Nicht regulierte Transaktion von Google Cloud.
  • PARTNER: Eine regulierte oder nicht regulierte Transaktion eines Drittanbieters durch einen Partner.
cost_type String

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

service.id String Die ID des Dienstes, mit dem die Nutzung verknüpft ist.
service.description String Der Google Cloud-Dienst, der die Cloud Billing-Daten gemeldet hat.
sku.id String Die ID der vom Dienst verwendeten Ressource. Eine vollständige Liste der SKUs finden Sie unter Google Cloud SKUs.
sku.description String Eine Beschreibung des vom Dienst verwendeten Ressourcentyps. Ein Ressourcentyp für Cloud Storage ist beispielsweise Standard Storage US.
usage_start_time Zeitstempel Die Startzeit des stündlichen Nutzungszeitfensters, in dem die auftretenden Kosten berechnet wurden. Nutzung und Kosten werden für alle Dienste mit stündlicher Genauigkeit angezeigt. Eine lange Dauer der Dienstnutzung verteilt sich so auf mehrere Stundenzeitfenster.

Weitere Informationen finden Sie in der BigQuery-Dokumentation im Abschnitt über Zeitstempeldatentypen. Weitere Informationen finden Sie außerdem im Abschnitt Unterschiede zwischen exportierten Daten und Rechnungen.

usage_end_time Zeitstempel Die Endzeit des stündlichen Nutzungszeitfensters, in dem die auftretenden Kosten berechnet wurden. Nutzung und Kosten werden für alle Dienste mit stündlicher Genauigkeit angezeigt. Eine lange Dauer der Dienstnutzung verteilt sich so auf mehrere Stundenzeitfenster.

Weitere Informationen finden Sie in der BigQuery-Dokumentation im Abschnitt über Zeitstempeldatentypen. Weitere Informationen finden Sie außerdem im Abschnitt Unterschiede zwischen exportierten Daten und Rechnungen.

project Struct project enthält Felder, die das Cloud Billing-Projekt beschreiben, z. B. ID, Nummer, Name, Herkunftszahlen und Labels.
project.id String Die ID des Google Cloud-Projekts, das die Cloud Billing-Daten generiert hat.
project.number String Eine intern generierte, anonymisierte, eindeutige Kennung für das Google Cloud-Projekt, das die Cloud Billing-Daten generiert hat. In Ihren Support-Fällen und anderen Kundenkommunikationen wird Google Ihre Projekte anhand dieser Projektnummer zuordnen.
project.name String Der Name des Google Cloud-Projekts, das die Cloud Billing-Daten generiert hat.
project.ancestry_numbers String Die Ancestors in der Ressourcenhierarchie für das Projekt, das durch die angegebene project.id, z. B. "my-project-123", identifiziert wird.

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

project.ancestors Struct

In diesem Feld werden die Struktur und der Wert der Ressourcenhierarchie einer Kostenposition beschrieben, einschließlich Projekten, Ordnern und Organisationen. Ancestors werden vom Knoten zum Stamm sortiert (Projekt, Ordner, dann Organisation).

project.ancestors.resource_name String Der relative Ressourcenname für jeden Ancestor im Format "resourceType/resourceNumber". Mit project.ancestors.resource_name erhalten Sie eine ausführlichere Ansicht von project.ancestry_numbers.
project.ancestors.display_name String Der Name, den Sie in der Konsole für Ihre Ressource erstellt haben.
project.labels.key String Wenn Labels vorhanden sind, ist dies der Schlüssel im Schlüssel/Wert-Paar, das das Label des Google Cloud-Projekts enthält, in dem die Nutzung stattgefunden hat. Weitere Informationen zum Verwenden von Labels finden Sie im Hilfeartikel Labels erstellen und verwalten.
project.labels.value String Wenn Labels vorhanden sind, ist dies der Wert im Schlüssel/Wert-Paar, der das Label des Google Cloud-Projekts enthält, in dem die Nutzung stattgefunden hat. Weitere Informationen zum Verwenden von Labels finden Sie im Hilfeartikel Labels erstellen und verwalten.
labels.key String Wenn Labels vorhanden sind, ist dies der Schlüssel im Schlüssel/Wert-Paar, der das Label der Google Cloud-Ressource enthält, in der die Nutzung stattgefunden hat. Weitere Informationen zum Verwenden von Labels finden Sie im Hilfeartikel Labels erstellen und verwalten.
labels.value String Wenn Labels vorhanden sind, ist dies der Wert im Schlüssel/Wert-Paar, der das Label der Google Cloud-Ressource enthält, in der die Nutzung stattgefunden hat. Weitere Informationen zum Verwenden von Labels finden Sie im Hilfeartikel Labels erstellen und verwalten.
system_labels.key String Wenn Systemlabels vorhanden sind, ist dies der Schlüssel im Schlüssel/Wert-Paar, der für das Label der Ressource verwendet wird, in der die Nutzung stattgefunden hat. Weitere Informationen finden Sie unter Verfügbare Systemlabels.
system_labels.value String Wenn Systemlabels vorhanden sind, ist dies der Wert im Schlüssel/Wert-Paar, der für das Label der Ressource verwendet wird, in der die Nutzung stattgefunden hat. Weitere Informationen finden Sie unter 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 Geografie und Regionen und Google Cloud-Standorte.
location.country String Wenn location.location ein Land, eine Region oder eine Zone ist, enthält dieses Feld das Land der Nutzung, z. B. US. Weitere Informationen finden Sie unter Geografie und Regionen und Google Cloud-Standorte.
location.region String Wenn location.location eine Region oder Zone ist, enthält dieses Feld die Nutzungsregion, z. B. us-central1. Weitere Informationen finden Sie unter Geografie und Regionen und Google Cloud-Standorte.
location.zone String Wenn location.location eine Zone ist, enthält dieses Feld die Zone der Nutzung, z. B. us-central1-a. Weitere Informationen finden Sie unter Geografie und Regionen und Google Cloud-Standorte.
cost Float Die Kosten für die Nutzung ohne Gutschriften, mit einer Genauigkeit von bis zu sechs Dezimalstellen. Für Gesamtkosten mit Berücksichtigung von Gutschriften muss den Kosten credits.amount hinzugefügt werden. Weitere Informationen finden Sie in dieser Beispielabfrage.
currency String Die Währung, in der die Kosten abgerechnet werden. Weitere Informationen zur Landeswährung für Abrechnung und Zahlungen
currency_conversion_rate Float Der Wechselkurs von US-Dollar in die Landeswährung. cost/currency_conversion_rate sind so die Kosten in US-Dollar.
usage.amount Float Die Menge der verwendeten usage.unit.
usage.unit String Die Basiseinheit, in der die Ressourcennutzung gemessen wird. Die Basiseinheit für Standard Storage ist z. B. Byte-Sekunden.
usage.amount_in_pricing_units Float Die Menge der verwendeten usage.pricing_unit.
usage.pricing_unit String Die Einheit, in der die Ressourcennutzung gemäß der Cloud Billing Catalog API gemessen wird.
credits Struct credits enthält Felder, die die Struktur und den Wert der Gutschriften beschreiben, die mit Google Cloud- und Google Maps Platform-Artikelnummern verknüpft sind.
credits.id String Falls vorhanden, weist das Attribut auf eine Gutschrift hin zu der Produkt-SKU hin. credits.id-Werte sind entweder eine eindeutige alphanumerische Kennung, (z. B. 12-b34-c56-d78) oder eine Beschreibung des Guthabentyps (z. B. Rabatt für zugesicherte Nutzung: CPU).

Wenn das Feld credits.id leer ist, wird die Produkt-SKU mit keiner Gutschrift verknüpft.

credits.full_name String Der Name der Gutschrift, die mit der Artikelnummer des Produkts verknüpft ist. Dies ist eine für Menschen lesbare Beschreibung eines alphanumerischen credits.id. Beispiele sind Guthaben für den kostenlosen Testzeitraum oder ausgabenbasierte Rabatte für die zugesicherte Nutzung.

credits.full_name-Werte sind nur für Artikelnummern mit einem alphanumerischen credits.id vorhanden. Wenn der Wert von credits.id eine Beschreibung des Gutschriftstyps ist (z. B. Rabatt für zugesicherte Nutzung: CPU), dann ist das Feld credits.full_name leer.

credits.type String Dieses Feld beschreibt den Zweck oder Ursprung des credits.id. Es gibt folgende Gutschriftentypen:
  • COMMITTED_USAGE_DISCOUNT: Ressourcenbasierte Verträge für zugesicherte Nutzung, die für Compute Engine erworben werden und im Gegenzug erhebliche Rabatte auf die VM-Nutzung erhalten.
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE: Ausgabenbasierte Verträge mit Nutzungszusage, die für Dienstleistungen im Austausch gegen Ihre Zusage, einen Mindestbetrag auszugeben, erworben werden.
  • DISCOUNT: Der Rabatttyp wird für Gutschriften verwendet, die Sie nach Erreichen eines vertraglich festgelegten Ausgabenbetrags erhalten haben. In den Cloud Billing-Berichten, die in der Google Cloud Console verfügbar sind, wird der Rabatttyp als Ausgabenbasierte Rabatte (vertraglich) aufgeführt.
  • FREE_TIER: Einige Dienste bieten kostenlose Ressourcennutzung bis zu einem bestimmten Limit. Bei diesen Diensten wird mit Gutschriften die Nutzung der kostenlosen Stufe implementiert.
  • PROMOTION: Der Gutschriftentyp „Promotion“ umfasst einen kostenlosen Testzeitraum von Google Cloud, Gutschriften für Marketingkampagnen oder andere Zuwendungen zur Nutzung von Google Cloud. Angebotsgutschriften werden als Zahlungsart betrachtet und automatisch angewendet, um die Gesamtkosten zu reduzieren.
  • RESELLER_MARGIN: Wenn Sie Reseller sind, zeigt der Gutschriftentyp Reseller_Margin die Rabatte für das Reseller-Programm für jede infrage kommende Position an.
  • SUBSCRIPTION_BENEFIT: Gutschriften, die Sie durch den Kauf eines langfristigen Abos für Dienste erhalten.
  • SUSTAINED_USAGE_DISCOUNT: Der Gutschriftentyp „Rabatte für kontinuierliche Nutzung“ ist ein automatischer Rabatt, den Sie erhalten, wenn Sie bestimmte Compute Engine-Ressourcen für einen erheblichen Teil des Abrechnungsmonats nutzen.
credits.name String Eine Beschreibung der Gutschrift, die auf das Cloud-Rechnungskonto angewendet wurde.
credits.amount Float Der Betrag der Gutschrift, die auf die Nutzung angerechnet wird.
adjustment_info Struct adjustment_info enthält Felder, die die Struktur und den Wert einer Korrektur an Kostenpositionen beschreiben, die einem Cloud-Rechnungskonto zugeordnet sind.

Werte von adjustment_info sind nur vorhanden, wenn die Kostenposition für eine Cloud Billing-Änderung generiert wurde. Die Änderung kann als Korrektur oder aus anderen Gründen vorgenommen werden. Der Typ adjustment_info enthält Details zur Korrektur, unabhängig davon, ob sie zur Behebung eines Fehlers oder aus anderen Gründen vorgenommen wurde.

adjustment_info.id String Falls vorhanden, weist dies auf eine Anpassung an eine Kostenposition hin. adjustment_info.id ist die eindeutige ID für alle Anpassungen, die mit einem Problem verknüpft sind.
adjustment_info.description String Eine Beschreibung der Korrektur und ihre Ursache.
adjustment_info.type String

Die Art der Anpassung.

Zu den Typen gehören:

  • USAGE_CORRECTION: Eine Korrektur aufgrund einer falschen Nutzung.
  • PRICE_CORRECTION: Eine Korrektur aufgrund falscher Preismodellregeln.
  • METADATA_CORRECTION: Eine Korrektur, um Metadaten zu korrigieren, ohne die Kosten zu ändern.
  • GOODWILL: Ein Guthaben, das dem Kunden gutgeschrieben wird.
  • SALES_BASED_GOODWILL: Ein Guthaben, das dem Kunden als Dritter für einen Vertrag ausgestellt wird.
  • SLA_VIOLATION: Ein Guthaben, das dem Kunden aufgrund eines Verstoßes gegen das Service Level Objective (SLO) ausgestellt wird.
  • BALANCE_TRANSFER: Eine Korrektur, um Geld von einem Zahlungskonto auf ein anderes zu übertragen.
  • ACCOUNT_CLOSURE: Eine Korrektur, um ein geschlossenes Konto auf null zu bringen.
  • GENERAL_ADJUSTMENT: Eine allgemeine Abrechnungskontoänderung
adjustment_info.mode String

Art der Korrektur.

Zu den Modi gehören:

  • PARTIAL_CORRECTION: Bei der Korrektur werden die ursprüngliche Nutzung und die Kosten teilweise negiert.
  • COMPLETE_NEGATION_WITH_REMONETIZATION: Bei der Korrektur werden die ursprüngliche Nutzung und die Kosten vollständig geschätzt und die korrigierten Werbebuchungen mit aktualisierter Nutzung und Kosten korrigiert.
  • COMPLETE_NEGATION: Bei der Korrektur werden die ursprüngliche Nutzung und die Kosten vollständig geschätzt. Weitere Informationen werden nicht wieder monetarisiert.
  • MANUAL_ADJUSTMENT: Die Anpassung wird manuell Kosten und Nutzung zugeordnet.
export_time Zeitstempel Die mit neu angehängten Cloud Billing-Daten verbundene Verarbeitungszeit. Dieser Zeitraum verlängert sich mit jedem neuen Export.
Weitere Informationen finden Sie außerdem unten im Abschnitt Unterschiede zwischen exportierten Daten und Rechnungen.
tags Struct

Felder, die das Tag beschreiben, z. B. Schlüssel, Wert und Namespace.

tags.key String

Der Kurz- oder Anzeigename des Schlüssels, der mit diesem Tag verknüpft ist.

tags.value String

Die an eine tags.key angehängten Ressourcen. Für einen bestimmten Schlüssel kann jeweils immer genau ein Wert an eine Ressource angehängt werden.

tags.inherited Boolesch

Gibt an, ob eine Tag-Bindung übernommen wurde (Tags „übernommen = wahr“) oder direkt/nicht übernommen (Tags „übernommen = falsch“). Sie können eine Tag-Bindung für eine übergeordnete Ressource in der Ressourcenhierarchie erstellen.

tags.namespace String

Stellt die Ressourcenhierarchie dar, die den Tag-Schlüssel und die Tag-Werte definiert. Namespace kann mit den Tag-Schlüssel- und Tag-Wert-Kurznamen kombiniert werden, um einen global eindeutigen und voll qualifizierten Namen für den Tag-Schlüssel oder den Tag-Wert zu erstellen.

cost_at_list Float

Die Listenpreise, die allen Positionen zugeordnet sind, die Ihrem Cloud-Rechnungskonto in Rechnung gestellt werden.

transaction_type String

Der Transaktionstyp des Verkäufers. Folgende Transaktionstypen sind möglich:

  • GOOGLE = 1: Von Google Cloud verkaufte Dienste.
  • THIRD_PARTY_RESELLER = 2: Drittanbieterdienste, die von Google Cloud weiterverkauft werden.
  • THIRD_PARTY_AGENCY = 3: Drittanbieterdienste, die von einem Partner verkauft werden, wobei Google Cloud als Agent fungiert.
seller_name String

Der rechtliche Name des Verkäufers.

Standardnutzungskosten und detaillierte Nutzungskosten

In den folgenden Abschnitten werden die Standardnutzungskosten und die detaillierten Nutzungskostendaten beschrieben, die nach BigQuery exportiert werden.

Über Labels

Die Kostendaten für ein bestimmtes Label zeigen nur die Nutzung ab dem Datum, ab dem das Label auf eine Ressource angewendet wurde. Wenn Sie beispielsweise einer Compute Engine-VM am 15. Januar 2024 das Label environment:dev hinzufügen, enthält die Analyse für environment:dev nur die Nutzung für diese VM seit dem 15. Januar 2024.

Es können auch Labeldaten zu unterschiedlichen Zeiten für verschiedene Dienste angezeigt werden, je nachdem, wann der jeweilige Dienst sie bereitstellt.

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 15.360 (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.
compute.googleapis.com/is_unused_reservation true; false Gibt die Nutzung an, die über zonale Reservierungen reserviert wurde, aber nicht verwendet wurde.
storage.googleapis.com/object_state live; noncurrent; soft_deleted; multipart Der Status des aufgeladenen Speicherobjekts.

Unterschiede zwischen exportierten Daten und Rechnungen

Google Cloud-Produkte melden Nutzungs- und Kostendaten in unterschiedlichen Intervallen an Cloud Billing-Vorgänge. Deshalb kann es zu einer Verzögerung zwischen der Nutzung von Google Cloud-Diensten und der Nutzung und Kosten kommen, die in Cloud Billing angezeigt werden. In der Regel sind Ihre Kosten innerhalb eines Tages verfügbar, manchmal kann es aber auch mehr als 24 Stunden dauern.

Am Ende eines Kalendermonats kann es daher sein, dass eine spät gemeldete Nutzung möglicherweise nicht auf die Rechnung des betreffenden Monats kommt, sondern möglicherweise erst auf der Rechnung des nächsten Monats zu finden ist.

Wenn Sie Ihre Kosten mithilfe von Zeitstempelfeldern abfragen, können die zurückgegebenen Daten eine nach dem Abrechnungszyklus gemeldete Nutzung enthalten, die nicht in der Rechnung für den jeweiligen Nutzungsmonat enthalten war. In diesem Fall werden die zurückgegebenen Cloud Billing-Daten möglicherweise nicht direkt dieser Rechnung zugeordnet.

Zu den Zeitstempelfeldern gehören:

  • usage_start_time
  • usage_end_time
  • export_time

Zur Rückgabe von Cloud Billing-Daten, die direkt einer Rechnung zugeordnet sind, führen Sie eine Abfrage für invoice.month anstelle von Zeitstempelfeldern aus.

Steuern

Seit dem 1. September 2020 wird Ihre Steuerpflicht in den Nutzungskosten nicht mehr als einzelne Position, sondern für jedes einzelne Projekt angezeigt. Wenn Sie Abfragen oder Visualisierungen haben, die von Steuerdaten abhängen, müssen Sie möglicherweise die Abfragen aktualisieren, damit diese Änderungen berücksichtigt werden.

Zum Beispiel sahen bei Kosten, die vor dem 1. September erfasst wurden, die Nutzungskostendaten ähnlich wie im folgenden Beispiel aus. Dabei beträgt die Steuerschuld 10 $.

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project Regulär 60 $
123456-ABCDEF-123456 test-project Regulär 40 $
123456-ABCDEF-123456 [empty] Steuern 10 $

Bei Kosten, die nach dem 1. September erfasst werden, wird der Betrag über 10 $ in 6 $ für example-project und 4 $ fürtest-project aufgeteilt:

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project Regulär 60 $
123456-ABCDEF-123456 test-project Regulär 40 $
123456-ABCDEF-123456 example-project Steuern 6 $
123456-ABCDEF-123456 test-project Steuern 4 $

Fehler und Korrekturen

Im seltenen Fall, dass Ihre Cloud Billing-Daten einen Fehler enthalten oder korrigiert werden müssen, werden ihnen Korrekturdaten hinzugefügt. Solche Anpassungen fallen in eine von zwei Kategorien: Änderungen oder Korrekturen der Abrechnung.

Änderungen an der Abrechnung

Änderungen an Abrechnungen werden als separate Positionen angezeigt. Wenn Sie eine Abrechnungsänderung erhalten haben, taucht in Ihrem Cloud Billing-Export nach BigQuery eine neue Position mit dieser Änderung auf. Die angezeigten Korrekturen entsprechen den Rechnungen, Gutschriften und Lastschriften, die in der Google Cloud Console im Bereich Abrechnung unter Dokumente verfügbar sind.

Weitere Informationen zu Abrechnungsänderungen und zu deren Anwendung finden Sie unter Gut-/Lastschriften und Anpassungen verstehen.

Korrekturen

Korrekturen werden als neue Daten angezeigt, die falsche Daten in den Quell-SKUs aufheben. In einigen Fällen werden falsche Gebühren durch neue Daten ersetzt. Alle Spalten im Export von Abrechnungsdaten stimmen mit den Originaldaten überein, mit Ausnahme der folgenden Spalten:

  • cost
  • credit
  • usage.amount
  • export_time

Angenommen, Ihnen wurden am 1. Januar 10 $für die Nutzung von SKU A in Rechnung gestellt. Auf Ihrer Rechnung für Januar (Anfang Februar ausgestellt) sehen Sie eine Belastung von 10 $für SKU A. Am 2. Februar hat Google Cloud eine Korrektur in Bezug auf SKU A vorgenommen, wodurch die Nutzungskosten auf 5 $ reduziert wurden. Ihre Rechnung für Februar (Anfang März ausgestellt) enthält zwei zusätzliche Positionen:

  • -10 $ für die Nutzung am 1. Januar (Rücknahme der ursprünglichen Gebühr)
  • 5 $ für die Nutzung am 1. Januar (Angabe der korrekten Gebühr)

Diese neuen Elemente haben im Export der Abrechnungsdaten die Spalte adjustment_info. Die ursprüngliche Rechnung für Januar, auf der die Überbelastung aufgeführt ist, wird nicht angepasst. Sie können Ihre Gebühren im Export der Abrechnungsdaten prüfen, wozu Sie die Kosten nach usage_start_time aufrufen und nach Day gruppieren. In diesen Ansichten werden Korrekturen oder Gebühren für die spät monetarisierte Nutzung kumuliert. Sie müssen sich keine Gedanken über vorübergehend falsche Daten machen.

Wenn Sie genauere Informationen zu Ihren Korrekturen benötigen, rufen Sie alle Gebühren eines Rechnungsmonats auf und suchen Sie nach den Gebühren, bei denen das Nutzungsdatum vor dem Rechnungsmonat liegt. Diese Kosten sind auf Korrekturen oder eine verspätete Monetarisierung zurückzuführen.

Im folgenden Codebeispiel wird gezeigt, wie du eine einfache Abfrage erstellst, die die Gesamtkosten für Korrekturen oder die spätere Monetarisierung von Inhalten zurückgibt:

SELECT
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
      FROM   UNNEST(credits) c), 0))
    AS total
FROM `project.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX`
WHERE
  invoice.month = '202311' AND
  DATE(TIMESTAMP_TRUNC(usage_start_time, Day, 'US/Pacific')) < '2023-11-01';

Ein Beispiel für eine Abfrage, die eine Kostenaufschlüsselung nach Dienst für Rechnungsgebühren zurückgibt, wobei das Nutzungsdatum vor dem Rechnungsmonat liegt, finden Sie unter Kostendetails abfragen, um Korrekturen oder verspätet monetarisierte Nutzung nach Dienst für einen bestimmten Rechnungsmonat aufzurufen im Abschnitt „Beispielabfragen für den Export von Cloud Billing-Daten“.

Startguthaben in benutzerdefinierten Verträgen

Wenn Sie einen benutzerdefinierten Preisvertrag haben, erhalten Sie möglicherweise Startguthaben, das im Rahmen des Vertrags in Google Cloud angewendet werden kann. Beispielsweise können Sie 1.000 USD Guthaben für die Verwendung von Compute Engine-Ressourcen erhalten. Startguthaben gelten in der Regel als Zahlungsmittel. Vorhandenes Startguthaben wird automatisch zur Reduzierung Ihres Rechnungsbetrages verwendet.

Ihr Vertrag gibt an, ob das Startguthaben auf Ihre Kosten angerechnet wird, die zum Listenpreis einer Artikelnummer berechnet werden, oder auf den Nettopreis (nach Rabatten).

Das Startguthaben wird auf Kosten angerechnet, die zum Listenpreis berechnet werden. Im Bericht Kostentabelle ist dazu ein Service namens Invoice mit einer Artikelnummer namens Contract billing adjustment aufgeführt. Mit dieser Artikelnummer werden Ihr Gutschriften angepasst, sodass sie auf die Kosten zum Listenpreis angerechnet werden können. Fragen Sie die system.labels-Spalten ab, um die Nutzung zu sehen, für die die Anpassung gilt. Der Schlüssel in system.labels.key ist cloud-invoice.googleapis.com/sku_id und der Wert in system.labels.value enthält die SKU-ID, der die Gutschrift und die Anpassung zugeordnet wurden.

Tags

Tags sind Ressourcen in Form von Schlüssel/Wert-Paaren, die direkt oder durch Übernahmen an Ressourcen angehängt werden können. Sie können Tags verwenden, um Rückbuchungen, Audits und andere Analysen zur Kostenzuordnung durchzuführen. Tags und die bedingte Erzwingung von Richtlinien ermöglichen es Ihnen auch, die Ressourcenhierarchie genau zu steuern.

Tags haben ein robustes Berechtigungsmodell und können die Übernahme, die zentralisierte Verwaltung, die Nomenklaturstandardisierung und die Einbindung von Richtlinien-Engines unterstützen. Labels sind dagegen ein separates Tool, mit dem Sie Ressourcen annotieren können.

Tag-Daten werden in BigQuery-Exporten für Ressourcen, Projekte, Ordner und Organisationen angezeigt.

Verfügbare Tags

Die Exporte für Standardkosten und detaillierte Kosten für Ressourcen, Projekte, Ordner und Organisationen enthalten folgende Felder für Tag-Daten: Tag-Schlüssel, Tag-Wert, übernommene Tags und Tag-Namespace.

Tags auf Ressourcenebene im Cloud Billing-Datenexport sind für die folgenden Ressourcen verfügbar:

  • AlloyDB for PostgreSQL-Cluster, ‑Instanzen und ‑Sicherungen
  • Artifact Registry-Repositories
  • Cloud Run-Dienste und ‑Jobs
  • Cloud Storage-Buckets
  • Compute Engine-Instanzen
  • Memorystore for Redis-Instanzen
  • Secret Manager-Secrets
  • Cloud Spanner-Instanzen

Tag-Beschränkungen

  • Es kann bis zu einer Stunde dauern, bis Tags in BigQuery-Exporte übernommen werden. Wenn ein Tag innerhalb einer Stunde hinzugefügt oder entfernt wurde oder eine Ressource weniger als eine Stunde lang existiert, wird sie möglicherweise nicht im Export angezeigt.

Abfragebeispiele für Standardnutzungskosten

In diesem Abschnitt wird anhand von Beispielen gezeigt, wie Sie die in BigQuery exportierten Cloud Billing-Standardnutzungskosten abfragen.

Tabellennamen angeben, der in Abfragen verwendet werden soll

Zum Abfragen der Cloud Billing-Daten in BigQuery müssen Sie in diesen Beispielen den Tabellennamen in der Klausel FROM angeben. Der Tabellenname wird anhand von drei Werten ermittelt: project.dataset.BQ_table_name.

Häufige Werte, die in den Abfragebeispiele für Standardkosten verwendet werden

In den Abfragebeispielen in diesem Abschnitt wird als Tabellenname der folgende Wert verwendet: project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX

Diese Abfragebeispiele funktionieren auch mit detaillierten Nutzungskosten, die nach BigQuery exportiert werden, allerdings sind sie nicht zum Abrufen der Informationen auf Ressourcenebene geschrieben, die mit der Exportoption zu detaillierten Nutzungskosten bereitgestellt wird.

Gesamtkosten einer Rechnung zurückgeben

Die folgenden Abfragen zeigen zwei Möglichkeiten, wie Sie sich Kosten und Guthaben anhand von exportierten Abrechnungsdaten anzeigen lassen können.

  • Im Feld total werden die Gleitkommawerte für Kosten und Gutschriften direkt summiert. Dadurch kann es zu Rundungsfehlern kommen.
  • Das Feld total_exact wandelt die Kosten- und Gutschriftswerte vor dem Summieren in "Micros" um. Nach dem Summieren werden diese wieder in Dollar umgewandelt und so Rundungsfehler mit Gleitkommazahlen vermieden.

Beispiel 1: Summe aller Kosten pro Rechnung

Diese Abfrage zeigt die Rechnungssumme für jeden Monat als Summe der regelmäßigen Kosten, Steuern, Korrekturen und Rundungsfehler.

Standard-SQL

SELECT
  invoice.month,
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM UNNEST(credits) c), 0))
    AS total,
  (SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY 1
ORDER BY 1 ASC
;

Das Ergebnis der vorherigen Abfrage kann beispielsweise so aussehen:

Zeile Monat Gesamt Summe (genau)
1 201901 1005,004832999999984 $ 1005,00 $
2 201902 992,3101739999999717 $ 992,31 $
3 201903 1220,761089999999642 $ 1220,76 $

Beispiel 2: Details zu den zurückgegebenen Daten nach Kostenart pro Rechnungsmonat

Diese Abfrage ergibt die Gesamtsummen für jeden cost_type pro Monat. Kostenarten umfassen regelmäßige Kosten, Steuern, Korrekturen und Rundungsfehler.

Standard-SQL

SELECT
  invoice.month,
  cost_type,
  SUM(cost)
    + SUM(IFNULL((SELECT SUM(c.amount)
                  FROM   UNNEST(credits) c), 0))
    AS total,
  (SUM(CAST(cost * 1000000 AS int64))
    + SUM(IFNULL((SELECT SUM(CAST(c.amount * 1000000 as int64))
                  FROM UNNEST(credits) c), 0))) / 1000000
    AS total_exact
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY 1, 2
ORDER BY 1 ASC, 2 ASC
;

Das Ergebnis der vorherigen Abfrage kann beispielsweise so aussehen:

Zeile Monat Kostenart Gesamt Summe (genau)
1 201901 regulär 1000,501209987994782 $ 1000,50 $
2 201901 Rundungsfehler -0,500489920049387 $ -0,50 $
3 201901 Steuer 10,000329958477891 $ 10,00 $
4 201901 Korrektur -5,002572999387045 $ -5,00 $

Abfragebeispiele mit Labels

Die folgenden Beispiele zeigen andere Möglichkeiten zum Abfragen von Daten mit Labels.

Bei den Beispielen in diesem Abschnitt wird Folgendes angenommen:

  • Sie haben zwei Apps („grapefruit-squeezer“ und „chocolate-masher“).
  • Für jede Anwendung haben Sie zwei Umgebungen: „dev“ (Entwicklung) und „prod“ (Produktion).
  • In der Entwicklungsumgebung ist eine kleine Instanz pro Anwendung vorhanden.
  • In der Produktionsumgebung ist eine kleine Instanz in Amerika und eine kleine Instanz in Asien vorhanden.
  • Jede Instanz trägt den Namen der Anwendung und der Umgebung.
  • Sie haben eine Instanz ohne Label, die Sie zum Experimentieren verwenden.

Ihre Rechnung beträgt insgesamt 24 $und setzt sich so zusammen:

Instanz Labels Gesamtkosten
Kleine Instanz mit einer VCPU in Amerika Keine 4 $
Kleine Instanz mit einer VCPU in Amerika app: chocolate-masher
environment: dev
2 $
Kleine Instanz mit einer VCPU in Amerika app: grapefruit-squeezer
environment: dev
3 $
Kleine Instanz mit einer VCPU in Amerika app: chocolate-masher
environment: prod
3,25 $
Kleine Instanz mit einer VCPU in Asien app: chocolate-masher
environment: prod
3,75 $
Kleine Instanz mit einer VCPU in Amerika app: grapefruit-squeezer
environment: prod
3,50 $
Kleine Instanz mit einer VCPU in Asien app: grapefruit-squeezer
environment: prod
4,50 $

Jede Zeile einzeln abfragen

Die detaillierteste Kostenansicht erhalten Sie, indem Sie jede Zeile einzeln abfragen, ohne Gruppierungen vorzunehmen. Gehen wir davon aus, dass mit Ausnahme von Labels und der SKU-Beschreibung alle Felder wie Projekt, Produkt usw. identisch sind.

Standard-SQL

SELECT
  sku.description,
  TO_JSON_STRING(labels) as labels,
 cost as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`;

Legacy-SQL

TO_JSON_STRING not supported.
Zeile sku.description Labels Kosten
1 Kleine Instanz mit einer VCPU in Amerika [] 4 $
2 Kleine Instanz mit einer VCPU in Amerika [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"dev"}] 2 $
3 Kleine Instanz mit einer VCPU in Amerika [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"dev"}] 3 $
4 Kleine Instanz mit einer VCPU in Amerika [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] 3,25 $
5 Kleine Instanz mit einer VCPU in Asien [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] 3,75 $
6 Kleine Instanz mit einer VCPU in Amerika [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] 3,50 $
7 Kleine Instanz mit einer VCPU in Asien [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] 4,50 $
GESAMT 24 $

Nach Labelzuordnung als JSON-String gruppieren

Mit dieser Methode können Sie die Kosten schnell und einfach nach Labelkombination aufschlüsseln.

Standard-SQL

SELECT
  TO_JSON_STRING(labels) as labels,
  sum(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
GROUP BY labels;

Legacy-SQL

TO_JSON_STRING not supported.
Zeile Labels Kosten
1 [] 4 $
2 [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"dev"}] 2 $
3 [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"dev"}] 3 $
4 [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] 7 $
5 [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] 8 $
GESAMT 24 $

Nach Labelwert für einen bestimmten Schlüssel gruppieren

Häufig werden die Kosten nach den Werten eines bestimmten Labelschlüssels aufgeschlüsselt. Kosten ohne diesen Schlüssel können Sie durch LEFT JOIN und Eingabe des Schlüsselfilters als JOIN-Bedingung (anstelle von WHERE) einbeziehen. Sie erhalten auf diese Weise eine vollständige Übersicht Ihrer Kosten.

Standard-SQL

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(labels) as labels
  ON labels.key = "environment"
GROUP BY environment;

Legacy-SQL

SELECT
  labels.value as environment,
  SUM(cost) as cost
FROM [project:dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX]
WHERE labels.key = "environment" OR labels.key IS NULL
GROUP BY environment;
Zeile Umgebung Kosten
1 prod 15 $
2 dev 5 $
3 null 4 $
GESAMT 24 $

Nach Schlüssel/Wert-Paar gruppieren

Behalten Sie dies beim Interpretieren oder Exportieren der Ergebnisse im Hinterkopf. Eine einzelne Zeile zeigt hier eine gültige Summe ohne doppelte Zählung. Sie sollte jedoch nicht mit anderen Zeilen kombiniert werden, es sei denn, beide haben denselben Schlüssel oder die Schlüssel werden definitiv nicht in derselben Ressource verwendet.

Standard-SQL

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost) as cost
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(labels) as labels
GROUP BY key, value;

Legacy-SQL

SELECT
  labels.key as key,
  labels.value as value,
  SUM(cost)
FROM [project:dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX]
GROUP BY key, value;
Zeile Schlüssel Wert Kosten
1 null null 4 $
2 App chocolate-masher 9 $
3 App grapefruit-squeezer 11 $
4 Umgebung dev 5 $
5 Umgebung prod 15 $
GESAMT 44 $

Beachten Sie, dass die Gesamtsumme größer als auf der Rechnung ist.

Abfragen mit Rabatten für zugesicherte Nutzung

Die folgenden Abfragen zeigen, wie die Gebühren und Gutschriften aufgerufen werden können, die mit Rabatten für zugesicherte Nutzung in exportierten Abrechnungsdaten verknüpft sind. Um zu verstehen, wie Ihre Zusicherungsgebühren und -Gutschriften Ihrem Cloud-Rechnungskonto und Ihren Projekten zugeordnet werden, siehe Zuweisung von Rabatten für zugesicherte Nutzung.

Zusicherungsgebühren ansehen

Verwenden Sie die folgende Beispielabfrage, um die Zusicherungsgebühren für Ihre Rabatte für zugesicherte Nutzung in Ihrem Abrechnungsdatenexport aufzurufen.

Standard-SQL

SELECT
    invoice.month AS invoice_month,
    SUM(cost) as commitment_fees
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE LOWER(sku.description) LIKE "commitment%"
GROUP BY 1

Gutschriften für Zusicherungen ansehen

Mit der folgenden Beispielabfrage können Sie das Guthaben für Rabatte für zugesicherte Nutzung im Abrechnungsdatenexport ansehen.

Standard-SQL

SELECT
    invoice.month AS invoice_month,
    SUM(credits.amount) as CUD_credits
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
LEFT JOIN UNNEST(credits) AS credits
WHERE LOWER(credits.name) LIKE "committed use discount%"
GROUP BY 1

Filter für die Ressourcenhierarchie zur Überprüfung der Herkunft verwenden

Sie können Ressourcenhierarchiefilter verwenden, um Kosten nach Hierarchieelementen wie Projekten, Ordnern und Organisationen zusammenzufassen. Diese Abfragebeispiele zeigen Methoden für die Summierung von Kosten, die nach Elementen der Ressourcenhierarchie gefiltert sind, und für die Anzeige der Projektherkunft.

Beispiel 1: Nach Ressourcenname filtern

In diesem Beispiel werden Abfragen demonstriert, die Kosten nach Projektherkunft gruppieren und nur Kosten herausfiltern, die unter einem bestimmten Hierarchieelement entstanden sind, das durch den relativen Ressourcennamen identifiziert wird.

String-Methode

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq
  WHERE TO_JSON_STRING(project.ancestors) like "%resource_name\":\"folders/1234"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

UNNEST-Methode

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq, UNNEST(project.ancestors) as ancestor
  WHERE ancestor.resource_name = "folders/1234"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

Beispiel 2: Nach Anzeigenamen filtern

In diesem Beispiel werden Abfragen demonstriert, die Kosten nach Projektherkunft gruppieren und nur nach Kosten filtern, die unter einem bestimmten Hierarchieelement erzeugt wurden, das durch den vom Nutzer angegebenen Anzeigenamen identifiziert wird.

Stringabgleich-Methode

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq
  WHERE TO_JSON_STRING(project.ancestors) like "%display_name\":\"MyFolderName%"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

UNNEST-Methode

SELECT
    invoice.month AS invoice_month,
    TO_JSON_STRING(project.ancestors) as ancestors,
    SUM(cost)
        + SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0))
        AS net_cost
  FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX` as bq, UNNEST(project.ancestors) as ancestor
  WHERE ancestor.display_name = "MyFolderName"
  GROUP BY invoice_month, ancestors
  ORDER BY invoice_month, ancestors

Abfragebeispiele mit Tags

Die folgenden Beispiele zeigen Möglichkeiten zum Abfragen von Daten mit Tags.

Kosten nach Rechnungsmonat mit Tags berechnen

In der folgenden Abfrage wird gezeigt, wie Sie Rücksendekosten nach Rechnungsmonat für das cost_center-Tag verwenden können.

SELECT
  invoice.month AS invoice_month,
  tag.value AS cost_center,
  ROUND((SUM(CAST(cost AS NUMERIC))
    + SUM(IFNULL((SELECT SUM (CAST(c.amount AS NUMERIC))
                  FROM UNNEST(credits) AS c), 0))), 2)
    AS net_cost
FROM `project-ID.dataset.gcp_billing_export_resource_v1_XXXXXX-XXXXXX-XXXXXX`, UNNEST(tags) AS tag
WHERE tag.key = "cost_center" AND tag.namespace = "821092389413"
GROUP BY invoice.month, tag.value
ORDER BY invoice.month, tag.value;

Das Ergebnis der vorherigen Abfrage kann beispielsweise so aussehen:

Zeile invoice_month cost_center net_cost
1 202208 android_mobile_apps 9,93
2 202208 ios_mobile_apps 9,93
3 202209 android_mobile_apps 25,42
4 202209 ios_mobile_apps 25,4
5 202209 Personalisierung 16,08

Kosten nicht getaggter Ressourcen ansehen

Diese Abfrage zeigt die Rechnungssumme für nicht getaggte Ressourcen, gruppiert nach Rechnungsmonat.

SELECT
 invoice.month AS invoice_month,
 ROUND((SUM(CAST(cost AS NUMERIC))
   + SUM(IFNULL((SELECT SUM(CAST(c.amount AS NUMERIC))
                 FROM UNNEST(credits) AS c), 0))), 2)
   AS net_cost
FROM
 `project-ID.dataset.gcp_billing_export_v1_XXXXXX-XXXXXX-XXXXXX`
WHERE "color" NOT IN (SELECT key FROM UNNEST(tags))
GROUP BY invoice_month
ORDER BY invoice_month;

Das Ergebnis der vorherigen Abfrage kann beispielsweise so aussehen:

Zeile invoice_month net_cost
1 202202 0
2 202203 16,81
3 202204 54,09
4 202205 55,82
5 202206 54,09
6 202207 55,83
7 202208 31,49

Weitere Abfragebeispiele

Abfragekosten und Gutschriften nach Projekt für einen bestimmten Rechnungsmonat

Durch die Angabe eines bestimmten Rechnungsmonats, z. B. Juni 2020 (im Format JJJJMM), gibt diese Abfrage eine Ansicht der nach Projekt gruppierten Kosten und Gutschriften zurück und zeigt Projektlabels an.

Standard-SQL

SELECT
  project.name,
  TO_JSON_STRING(project.labels) as project_labels,
  sum(cost) as total_cost,
  SUM(IFNULL((SELECT SUM(c.amount) FROM UNNEST(credits) c), 0)) as total_credits
FROM `project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE invoice.month = "202006"
GROUP BY 1, 2
ORDER BY 1;

Legacy-SQL

TO_JSON_STRING not supported.
Zeile name project_labels total_cost total_credits
1 CTG - Dev [{"key":"ctg_p_env","value":"dev"}] 79.140979 -4.763796
2 CTG – Prod [{"key":"ctg_p_env","value":"prod"},{"key":"ctg_team","value":"eng"}] 32.466272 -3.073356
3 CTG – Sandbox [{"key":"ctg_p_env","value":"dev"}] 0 0
4 CTG – Storage [{"key":"ctg_p_env","value":"prod"},{"key":"ctg_team","value":"data"}] 7.645793 -0.003761

Kosten- und Preisberichte in der Google Cloud Console