Struttura dell'esportazione standard dei dati

Questo documento fornisce informazioni di riferimento per lo schema dei dati di costo di utilizzo standard di fatturazione Cloud esportati in ogni tabella di BigQuery.

Schema dei dati di costo di utilizzo standard

Nel set di dati BigQuery, i dati di costo di utilizzo standard Google Cloud vengono caricati in una tabella di dati denominata gcp_billing_export_v1_<BILLING_ACCOUNT_ID>.

Le seguenti informazioni descrivono lo schema dei dati di costo di utilizzo standard di Google Cloudesportati in BigQuery. Lo schema contiene informazioni standard sull'utilizzo dei costi dell'account di fatturazione Cloud, come ID account, data della fattura, servizi, SKU, progetti, etichette, località, costo, utilizzo, crediti, aggiustamenti e valuta.

Quando utilizzi i dati di costo di utilizzo standard in BigQuery, tieni presente quanto segue:

  • Lo schema della tabella per l'esportazione dei dati di fatturazione Cloud standard può cambiare nel tempo, ad esempio quando vengono aggiunti nuovi campi all'esportazione standard. Per proteggere le query da future modifiche allo schema, anziché fare affidamento su query che fanno riferimento direttamente alle colonne esportate, ti consigliamo di utilizzare le viste BigQuery per normalizzare i dati in modo che la tabella presenti lo stesso schema alle query. Scopri di più su questa limitazione.
  • Quando selezioni o crei un set di dati BigQuery per i dati di costo di utilizzo standard, puoi selezionare qualsiasi località del set di dati supportata per l'utilizzo con i dati di fatturazione Cloud.
  • Quando abiliti l'esportazione dei dati di costo di utilizzo standard per la prima volta in fatturazione Cloud, se selezioni un set di dati configurato per l'utilizzo di una località multiregionale (UE o Stati Uniti), i dati di fatturazione Cloud saranno disponibili retroattivamente dall'inizio del mese precedente. I dati vengono esportati in ordine cronologico. Per il backfill iniziale dei dati esportati, potrebbero essere necessari fino a cinque giorni per completare l'esportazione dei dati di fatturazione Cloud retroattivi prima di iniziare a visualizzare i dati di utilizzo più recenti.
  • Se abiliti l'esportazione dei dati di costo di utilizzo standard e selezioni un set di dati configurato per l'utilizzo di una località regionale supportata, i dati di fatturazione Cloud saranno disponibili a partire dalla data in cui hai abilitato l'esportazione.
  • Se hai abilitato, disabilitato e successivamente riabilitato l'esportazione dei dati di costo di utilizzo standard, i dati di fatturazione Cloud potrebbero non essere disponibili per il periodo in cui l'esportazione dei dati è stata esplicitamente disabilitata.
  • Scopri di più sulla frequenza dei caricamenti dei dati nelle tabelle BigQuery.
  • I dati di costo di utilizzo standard non includono dati di costo a livello di risorsa, come una macchina virtuale o un'unità SSD che genera l'utilizzo del servizio. Se ti interessa esportare i dati di costo a livello di risorsa in BigQuery per l'analisi, valuta la possibilità di attivare l'esportazione dei dati di costo di utilizzo dettagliati. I dati di costo di utilizzo dettagliati esportati includono tutti i campi e le informazioni contenuti nei dati di costo di utilizzo standard.
  • Consulta altre limitazioni che potrebbero influire sull'esportazione dei dati di fatturazione in BigQuery, ad esempio i set di dati con chiavi di crittografia gestite dal cliente (CMEK) abilitate.
Campo Tipo Descrizione
billing_account_id Stringa

L'ID account di fatturazione Cloud a cui è associato l'utilizzo.

Per i rivenditori: per i costi di utilizzo generati da un subaccount di fatturazione Cloud, questo è l'ID del subaccount, non l'ID dell'account di fatturazione Cloud rivenditore principale.

invoice.month Stringa

L'anno e il mese (AAAAMM) della fattura che include le voci di costo. Ad esempio: "201901" equivale a gennaio 2019.

Puoi utilizzare questo campo per ottenere gli addebiti totali della fattura. Consulta gli esempi di query per l'esportazione della fatturazione Cloud in BigQuery.

invoice.publisher_type Stringa

Indica il publisher associato alla transazione. Questo campo supporta la suddivisione delle fatture tra le transazioni effettuate direttamente con Google (proprietarie) e quelle effettuate con un partner (di terze parti), il che indica anche quali normative potrebbero essere applicate alla transazione.

I valori possibili sono:
  • GOOGLE: transazione proprietaria non regolamentata di Google Cloud.
  • PARTNER: una transazione di terze parti, regolamentata o non regolamentata, effettuata da un partner.
cost_type Stringa

Il tipo di costo rappresentato da questa voce: standard, imposta, aggiustamento o errore di arrotondamento.

service.id Stringa L'ID del servizio a cui è associato l'utilizzo.
service.description Stringa Il servizio Google Cloud che ha segnalato i dati di fatturazione Cloud.
sku.id Stringa L'ID della risorsa utilizzata dal servizio. Per l'elenco completo degli SKU, consulta SKU diGoogle Cloud .
sku.description Stringa Una descrizione del tipo di risorsa utilizzata dal servizio. Ad esempio, un tipo di risorsa per Cloud Storage è Standard Storage US.
usage_start_time Timestamp L'ora di inizio della finestra di utilizzo orario entro la quale è stato calcolato il costo specificato. L'utilizzo e i costi di tutti i servizi vengono visualizzati con granularità oraria, il che significa che l'utilizzo dei servizi a lunga esecuzione è distribuito su più finestre orarie.

Per saperne di più, consulta la documentazione di BigQuery sui tipi di dati timestamp. Consulta anche Differenze tra dati esportati e fatture.

usage_end_time Timestamp L'ora di fine della finestra di utilizzo orario entro la quale è stato calcolato il costo specificato. L'utilizzo e i costi di tutti i servizi vengono visualizzati con granularità oraria, il che significa che l'utilizzo dei servizi a lunga esecuzione è distribuito su più finestre orarie.

Per saperne di più, consulta la documentazione di BigQuery sui tipi di dati timestamp. Consulta anche Differenze tra dati esportati e fatture.

project Struct project contiene campi che descrivono il progetto di fatturazione Cloud, ad esempio ID, numero, nome, ancestry_numbers ed etichette.
project.id Stringa L'ID del progetto Google Cloud che ha generato i dati di fatturazione Cloud.
project.number Stringa Un identificatore univoco anonimizzato generato internamente per il progetto Google Cloud che ha generato i dati di fatturazione Cloud. Nelle richieste di assistenza e in altre comunicazioni con i clienti, Google farà riferimento ai tuoi progetti utilizzando questo numero.
project.name Stringa Il nome del progetto Google Cloud che ha generato i dati di fatturazione Cloud.
project.ancestry_numbers Stringa Gli antenati nella gerarchia delle risorse per il progetto identificato dal project.id specificato (ad esempio, my-project-123).

Ad esempio: /ParentOrgNumber/ParentFolderNumber/. Scopri di più sulla gerarchia delle risorse.

project.ancestors Struct

Questo campo descrive la struttura e il valore della gerarchia delle risorse di una voce di costo, inclusi progetti, cartelle e organizzazioni. Gli antenati sono ordinati dal nodo alla radice (progetto, cartella, quindi organizzazione).

project.ancestors.resource_name Stringa Il nome della risorsa relativo per ogni predecessore nel formato "resourceType/resourceNumber". L'utilizzo di project.ancestors.resource_name offrirà una visione più completa di project.ancestry_numbers.
project.ancestors.display_name Stringa Il nome che hai creato per la risorsa nella console.
project.labels Struct Campi che descrivono l'etichetta del progetto, ad esempio chiave, valore.
project.labels.key Stringa Se sono presenti etichette, la parte della chiave della coppia chiave-valore che comprende l'etichetta nel progetto Google Cloud in cui si è verificato l'utilizzo. Per saperne di più sull'utilizzo delle etichette, consulta Utilizzo delle etichette.
project.labels.value Stringa Se sono presenti etichette, la parte del valore della coppia chiave-valore che comprende l'etichetta nel progetto Google Cloud in cui si è verificato l'utilizzo. Per saperne di più sull'utilizzo delle etichette, consulta Utilizzo delle etichette.
labels Struct Campi che descrivono l'etichetta, ad esempio chiave, valore.
labels.key Stringa Se sono presenti etichette, la parte della chiave della coppia chiave-valore che comprende l'etichetta sulla risorsa Google Cloud in cui si è verificato l'utilizzo. Per saperne di più sull'utilizzo delle etichette, consulta Utilizzo delle etichette.
labels.value Stringa Se sono presenti etichette, la parte value della coppia chiave-valore che comprende l'etichetta sulla risorsa Google Cloud dove si è verificato l'utilizzo. Per saperne di più sull'utilizzo delle etichette, consulta Utilizzo delle etichette.
system_labels Struct Campi che descrivono l'etichetta di sistema, ad esempio chiave, valore.
system_labels.key Stringa Se sono presenti etichette di sistema, la parte key della coppia chiave-valore che comprende l'etichetta generata dal sistema sulla risorsa in cui si è verificato l'utilizzo. Consulta anche Etichette di sistema disponibili.
system_labels.value Stringa Se sono presenti etichette di sistema, la parte value della coppia chiave-valore che comprende l'etichetta generata dal sistema sulla risorsa in cui si è verificato l'utilizzo. Consulta anche Etichette di sistema disponibili.
location.location Stringa Località di utilizzo a livello di multi-regione, paese, regione o zona; oppure global per risorse che non hanno una località specifica. Per saperne di più, consulta Area geografica e regioni e Località Google Cloud .
location.country Stringa Quando location.location è un paese, una regione o una zona, questo campo indica il paese di utilizzo, ad esempio US. Per saperne di più, consulta Area geografica e regioni e Località Google Cloud .
location.region Stringa Quando location.location è una regione o una zona, questo campo è la regione di utilizzo, ad esempio us-central1. Per saperne di più, consulta Area geografica e regioni e Località Google Cloud .
location.zone Stringa Quando location.location è una zona, questo campo indica la zona di utilizzo, ad esempio us-central1-a. Per saperne di più, consulta Area geografica e regioni e Località Google Cloud .
cost Numero in virgola mobile

Costo per il modello di consumo applicabile, inclusi eventuali sconti negoziati riflessi nei prezzi personalizzati nel contratto collegato al tuo account di fatturazione Cloud (se applicabile).

currency Stringa La valuta in cui viene addebitato il costo. Per saperne di più, consulta Valuta locale per fatturazione e pagamenti.
currency_conversion_rate Numero in virgola mobile Il tasso di cambio dai dollari statunitensi alla valuta locale. In altre parole, cost ÷ currency_conversion_rate è il costo in dollari statunitensi.
usage.amount Numero in virgola mobile La quantità di usage.unit utilizzata.
usage.unit Stringa L'unità base in cui viene misurato l'utilizzo delle risorse. Ad esempio, l'unità di base per Standard Storage è byte-secondi.
usage.amount_in_pricing_units Numero in virgola mobile La quantità di usage.pricing_unit utilizzata.
usage.pricing_unit Stringa L'unità in cui viene misurato l'utilizzo delle risorse, in base all'API Cloud Billing Catalog.
credits Struct credits contiene campi che descrivono la struttura e il valore dei crediti associati agli SKU di Google Cloud e Google Maps Platform.
credits.id Stringa Se presente, indica che un credito è associato allo SKU del prodotto. I valori credits.id sono un identificatore univoco alfanumerico (ad esempio, 12-b34-c56-d78) o una descrizione del tipo di credito (ad esempio, Sconto per impegno di utilizzo: CPU).

Se il campo credits.id è vuoto, lo SKU del prodotto non è associato a un credito.

credits.full_name Stringa Il nome del credito associato allo SKU prodotto. Si tratta di una descrizione leggibile di un credits.id alfanumerico. Alcuni esempi sono Credito per la prova senza costi o Sconto per impegno di utilizzo basato sulla spesa.

I valori credits.full_name sono presenti solo per gli SKU con un credits.id alfanumerico. Se il valore di credits.id è una descrizione del tipo di credito (ad esempio Sconto per impegno di utilizzo: CPU), il campo credits.full_name è vuoto.

credits.type Stringa Questo campo descrive lo scopo o l'origine di credits.id. I tipi di credito includono:
  • FEE_UTILIZATION_OFFSET Per i nuovi sconti per impegno di utilizzo (CUD) basati sulla spesa, questo credito viene utilizzato per compensare le commissioni pagate per l'acquisto dei CUD. Con il nuovo modello, acquisti impegni a un prezzo scontato. Man mano che utilizzi gli SKU coperti dal CUD, questo credito compensa la tariffa. Quando utilizzi completamente l'impegno, la compensazione riduce la commissione a zero e l'utilizzo dello SKU idoneo viene addebitato al prezzo scontato.
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE: per gli sconti per impegno di utilizzo basati sulla spesa legacy che non fanno parte del nuovo modello di prezzi, questo è il credito guadagnato in cambio del tuo impegno a spendere un importo minimo per un servizio in una determinata regione.
  • COMMITTED_USAGE_DISCOUNT: contratti di utilizzo basato sulle risorse acquistati per Compute Engine in cambio di prezzi molto scontati per l'utilizzo delle VM.
  • DISCOUNT: il tipo di credito di sconto viene utilizzato per i crediti guadagnati dopo il raggiungimento di una soglia di spesa contrattuale. Tieni presente che nei report sulla fatturazione Cloud disponibili nella console Google Cloud , il tipo di credito di sconto è elencato come Sconti basati sulla spesa.
  • FREE_TIER: alcuni servizi consentono l'utilizzo senza costi delle risorse fino ai limiti specificati. Per questi servizi, vengono applicati crediti per implementare l'utilizzo del Livello senza costi.
  • PROMOTION: il tipo di credito promozionale include crediti per milestone basati sulla spesa, Google Cloud prova senza costi e crediti per campagne di marketing o altre sovvenzioni da utilizzare Google Cloud. Se disponibili, i crediti promozionali vengono considerati una forma di pagamento e vengono applicati automaticamente per ridurre il totale della fattura.
  • RESELLER_MARGIN: se sei un rivenditore, il tipo di credito margine del rivenditore indica gli sconti del Programma per rivenditori ottenuti per ogni voce idonea.
  • SUBSCRIPTION_BENEFIT: crediti ottenuti acquistando abbonamenti a lungo termine ai servizi in cambio di sconti.
  • SUSTAINED_USAGE_DISCOUNT: il tipo di credito per gli sconti per utilizzo sostenuto è uno sconto automatico che ricevi per l'esecuzione di risorse Compute Engine idonee per una parte significativa del mese di fatturazione, senza alcun impegno richiesto.
credits.name Stringa Una descrizione del credito applicato all'account di fatturazione Cloud.
credits.amount Numero in virgola mobile L'importo del credito applicato all'utilizzo.
adjustment_info Struct adjustment_info contiene campi che descrivono la struttura e il valore di un aggiustamento alle voci di costo associate a un account di fatturazione Cloud.

I valori adjustment_info sono presenti solo se l'elemento pubblicitario di costo è stato generato per una modifica della fatturazione Cloud. Una modifica può essere apportata per motivi di correzione o meno. Il tipo adjustment_info contiene i dettagli dell'aggiustamento, indipendentemente dal fatto che sia stato emesso per correggere un errore o per altri motivi.

adjustment_info.id Stringa Se presente, indica che un aggiustamento è associato a una voce di costo. adjustment_info.id è l'ID univoco di tutti gli aggiustamenti associati a un problema.
adjustment_info.description Stringa Una descrizione dell'aggiustamento e della relativa causa.
adjustment_info.type Stringa

Il tipo di aggiustamento.

I tipi includono:

  • USAGE_CORRECTION: una correzione dovuta a un utilizzo segnalato non corretto.
  • PRICE_CORRECTION: una correzione dovuta a regole per la determinazione del prezzo errate.
  • METADATA_CORRECTION: una correzione per correggere i metadati senza modificare il costo.
  • GOODWILL: un credito emesso a favore del cliente per l'avviamento.
  • SALES_BASED_GOODWILL: un credito emesso a favore del cliente per avviamento, nell'ambito di un contratto.
  • SLA_VIOLATION: un credito emesso al cliente a causa di una violazione dell'obiettivo del livello di servizio (SLO).
  • BALANCE_TRANSFER: un aggiustamento per trasferire fondi da un account pagamenti a un altro.
  • ACCOUNT_CLOSURE: un aggiustamento per portare a zero il saldo di un account chiuso.
  • GENERAL_ADJUSTMENT: una modifica generale dell'account di fatturazione.
adjustment_info.mode Stringa

Modalità di emissione dell'aggiustamento,

Le modalità includono:

  • PARTIAL_CORRECTION: la correzione annulla parzialmente l'utilizzo e il costo originali.
  • COMPLETE_NEGATION_WITH_REMONETIZATION: la correzione annulla completamente l'utilizzo e il costo originali ed emette voci corrette con l'utilizzo e il costo aggiornati.
  • COMPLETE_NEGATION: la correzione annulla completamente l'utilizzo e il costo originali e non viene rimonetizzato alcun ulteriore utilizzo.
  • MANUAL_ADJUSTMENT: l'aggiustamento viene allocato manualmente ai costi e all'utilizzo.
export_time Timestamp Un tempo di elaborazione associato all'aggiunta di dati di fatturazione Cloud. Questo valore aumenterà sempre a ogni nuova esportazione.
Consulta anche la sezione Differenze tra i dati esportati e le fatture di seguito.
tags Struct

Campi che descrivono il tag, ad esempio chiave, valore e spazio dei nomi.

tags.key Stringa

Il nome breve o il nome visualizzato della chiave associata a questo particolare tag.

tags.value Stringa

Le risorse collegate a un tags.key. In qualsiasi momento, è possibile collegare esattamente un valore a una risorsa per una determinata chiave.

tags.inherited Booleano

Indica se un'associazione di tag è ereditata (Tags Inherited = True) o diretta/non ereditata (Tags Inherited = False). Puoi creare un'associazione di tag a una risorsa padre nella gerarchia delle risorse.

tags.namespace Stringa

Rappresenta la gerarchia delle risorse che definisce la chiave e i valori dei tag. Lo spazio dei nomi può essere combinato con i nomi brevi della chiave tag e del valore tag per creare un nome completo univoco a livello globale per la chiave tag o il valore tag.

cost_at_list Numero in virgola mobile

Costo al prezzo di listino in base al modello di consumo predefinito.

transaction_type Stringa

Il tipo di transazione del venditore. Il tipo di transazione potrebbe essere uno dei seguenti:

  • GOOGLE = 1: servizi venduti da Google Cloud.
  • THIRD_PARTY_RESELLER = 2: servizi di terze parti rivenduti da Google Cloud.
  • THIRD_PARTY_AGENCY = 3: servizi di terze parti venduti da un partner, con Google Cloud che agisce in qualità di agente.
Questo campo viene compilato per gli elementi pubblicitari con cost_type = regular e può essere mancante per altri cost_types.
seller_name Stringa

Il nome legale del venditore.

Questo campo viene compilato per le voci di costo relative al Marketplace, che vengono impostate per i paesi in cui Google o una società consociata può agire come agente del fornitore. Per saperne di più, consulta Giurisdizioni delle agenzie.

price Struct

Campi che descrivono la struttura e i valori relativi ai prezzi addebitati per l'utilizzo.

price.list_price Numerico

Prezzo di listino dello SKU in base al modello di consumo predefinito.

price.effective_price_default Numerico

Prezzo dello SKU in base al modello di consumo predefinito, inclusi eventuali sconti negoziati riflessi nei prezzi personalizzati nel contratto collegato al tuo account di fatturazione Cloud (se applicabile).

price.list_price_consumption_model Numerico

Prezzo di listino dello SKU in base al modello di consumo applicabile prima di eventuali sconti negoziati riflessi nei prezzi personalizzati nel contratto collegato al tuo account di fatturazione Cloud (se applicabile).

price.effective_price Numerico

Prezzo dello SKU in base al modello di consumo applicabile, inclusi eventuali sconti negoziati riflessi nei prezzi personalizzati nel contratto collegato al tuo account di fatturazione Cloud (se applicabile).

price.tier_start_amount Numerico

Il numero minimo di unità per un livello di prezzo di uno SKU. Per saperne di più, consulta Informazioni sui livelli di prezzo.

price.unit Stringa

L'unità di utilizzo in cui viene specificato il prezzo e viene misurato l'utilizzo delle risorse.

price.pricing_unit_quantity Numerico

La quantità dell'unità di prezzo dello SKU. Ad esempio, se il prezzo è 1 $per 1.000.000 di byte, questa colonna mostra 1.000.000.

cost_at_effective_price_default Numerico

Costo per il modello di consumo predefinito, inclusi eventuali sconti negoziati che si riflettono nei prezzi personalizzati nel contratto collegato al tuo account di fatturazione Cloud (se applicabile).

cost_at_list_consumption_model Numerico

Costo per il modello di consumo applicabile prima di eventuali sconti negoziati riflessi nei prezzi personalizzati nel contratto collegato al tuo account di fatturazione Cloud (se applicabile).

consumption_model Struct

Campi che descrivono il modello di consumo applicabile.

consumption_model.id Stringa

L'ID del modello di consumo.

consumption_model.description Stringa

La descrizione del modello di consumo.

Informazioni sui dati di costo di utilizzo standard e dettagliati

Le sezioni seguenti descrivono i dati di costo di utilizzo standard e dettagliati esportati in BigQuery.

Informazioni sulle etichette

I dati di costo per un'etichetta specifica mostrano solo l'utilizzo a partire dalla data in cui l'etichetta è stata applicata a una risorsa. Ad esempio, se aggiungi l'etichetta environment:dev a una VM di Compute Engine il 15 gennaio 2024, qualsiasi analisi per environment:dev include solo l'utilizzo di quella VM dal 15 gennaio.

Potresti anche visualizzare i dati delle etichette in momenti diversi per servizi diversi, a seconda di quando ogni servizio li fornisce.

Etichette di sistema disponibili

Le etichette di sistema sono coppie chiave-valore per metadati importanti sulla risorsa che ha generato l'utilizzo. Le seguenti etichette di sistema vengono incluse automaticamente nell'utilizzo applicabile.

system_labels.key Esempio system_labels.value Descrizione
compute.googleapis.com/machine_spec n1-standard-1, custom-2-2048 Configurazione della macchina virtuale. Per saperne di più, consulta Tipi di macchine.
compute.googleapis.com/cores per n1-standard-4 è 4; per custom-2-2048 è 2 Il numero di vCPU disponibili per la macchina virtuale.
compute.googleapis.com/memory per n1-standard-4 è 15360 (ovvero 15 GB * 1024 MB/GB); per custom-2-2048 è 2048 La quantità di memoria (in MB) disponibile per la macchina virtuale.
compute.googleapis.com/is_unused_reservation true; false Indica l'utilizzo prenotato tramite Prenotazioni a livello di zona ma non utilizzato.
compute.googleapis.com/reservation_name my-a2-reservation Il nome breve della prenotazione di Compute Engine. Per gli scenari proprietari (1P), sono incluse anche le prenotazioni condivise utilizzate dalle istanze create dai servizi Google Cloud , come Vertex AI. Per saperne di più su come condividere le prenotazioni con servizi proprietari (1P) in Vertex AI, consulta quanto segue:
compute.googleapis.com/reservation_project_id my-gcp-project L'ID progetto proprietario della prenotazione di Compute Engine. Per gli scenari proprietari (1P), sono incluse anche le prenotazioni condivise utilizzate dalle istanze create dai servizi Google Cloud , come Vertex AI. Per saperne di più su come condividere le prenotazioni con servizi proprietari (1P) in Vertex AI, consulta quanto segue:
storage.googleapis.com/object_state live; noncurrent; soft_deleted; multipart Lo stato dell'oggetto di archiviazione addebitato.

Differenze tra dati esportati e fatture

Google Cloud e i prodotti idonei alla fatturazione, come Google Maps Platform, Google AI Studio e Firebase, segnalano i dati di utilizzo alla fatturazione Cloud a intervalli variabili. A causa della complessità dei nostri sistemi di fatturazione ed elaborazione, potresti riscontrare un ritardo tra l'utilizzo dei servizi, l'applicazione degli addebiti per l'utilizzo ai tuoi account pagamenti tramite Google e la visualizzazione di utilizzo e costi nei vari report e dashboard sui costi.

  • In genere, i dettagli sui costi sono disponibili entro un giorno, ma a volte possono essere necessarie più di 24 ore.
  • Per gli account online self-service, è possibile che gli addebiti per alcuni utilizzi vengano applicati rapidamente, ad esempio da 5 a 15 minuti dopo l'utilizzo.
  • A causa di questa differenza di tempistica, potresti notare addebiti nei tuoi account pagamenti con pagamento posticipato o anticipato prima di poter visualizzare i dettagli di questi addebiti in un report sui costi o in una dashboard di fatturazione. Questi ritardi del sistema influiscono anche sugli avvisi relativi al budget, sul rilevamento di anomalie e sui dati di fatturazione esportati in BigQuery.

Alla fine di un mese di calendario, l'utilizzo segnalato in ritardo potrebbe non essere incluso nella fattura di quel mese e potrebbe invece essere riportato nella fattura del mese successivo.

Quando esegui query sui costi utilizzando i campi timestamp, i dati restituiti potrebbero includere l'utilizzo segnalato in ritardo che non era stato originariamente incluso nella fattura generata per lo stesso mese di utilizzo. Di conseguenza, i dati di fatturazione Cloud restituiti potrebbero non corrispondere direttamente alla fattura.

I campi timestamp includono:

  • usage_start_time
  • usage_end_time
  • export_time

Per restituire i dati di fatturazione Cloud che corrispondono direttamente a una fattura, esegui una query su invoice.month anziché sui campi di timestamp.

Imposte

A partire dal 1° settembre 2020, i dati sui costi di utilizzo mostrano la tua responsabilità fiscale per ciascuno dei tuoi progetti, anziché come singola voce. Se hai query o visualizzazioni che dipendono dai dati fiscali, potresti dover aggiornare le query per tenere conto di queste modifiche.

Ad esempio, per i costi registrati prima del 1° settembre, i dati sui costi di utilizzo sono simili all'esempio seguente, che mostra un'obbligazione fiscale totale di 10 $.

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project Normale 60 $
123456-ABCDEF-123456 test-project Normale 40 $
123456-ABCDEF-123456 [empty] Tasse 10 $

Per i costi registrati dopo il 1° settembre, i 10 $vengono suddivisi in 6 $per example-project e 4 $per test-project:

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 example-project Normale 60 $
123456-ABCDEF-123456 test-project Normale 40 $
123456-ABCDEF-123456 example-project Tasse $ 6
123456-ABCDEF-123456 test-project Tasse 4 $

Errori e aggiustamenti

Nel raro caso in cui i dati di fatturazione Cloud contengano un errore o richiedano un aggiustamento, vengono aggiunti dati correttivi. Questi aggiustamenti rientrano in una delle due categorie: modifiche o correzioni della fatturazione.

Modifiche alla fatturazione

Le modifiche alla fatturazione vengono visualizzate come voci separate. Se hai ricevuto una modifica alla fatturazione, una nuova riga nell'esportazione della fatturazione Cloud in BigQuery mostra la modifica. Gli aggiustamenti mostrati corrispondono ai documenti di fattura, nota di credito e nota di debito disponibili nell'area Documenti della sezione Fatturazione della console Google Cloud .

Per saperne di più sulle modifiche alla fatturazione e su come vengono applicate, consulta Informazioni su note e aggiustamenti.

Correzioni

Le correzioni vengono visualizzate come nuovi dati che annullano i dati errati sugli SKU di origine. In alcuni casi, i nuovi dati sostituiscono l'addebito errato. Tutte le colonne dell'esportazione dei dati di fatturazione corrisponderanno ai dati originali, ad eccezione delle seguenti colonne:

  • cost
  • credit
  • usage.amount
  • export_time

Ad esempio, immagina che il 1° gennaio ti vengano addebitati 10 $per l'utilizzo di SKU A. Nella fattura di gennaio (emessa all'inizio di febbraio), vedrai un addebito di 10 $per SKU A. Tuttavia, il 2 febbraio, Google Cloud ha emesso una correzione per SKU A, riducendo il costo di utilizzo a 5 $. Nella fattura di febbraio (emessa all'inizio di marzo) riceverai due elementi pubblicitari aggiuntivi:

  • -10 $ per l'utilizzo del 1° gennaio (annullando l'addebito originale)
  • 5 $ per l'utilizzo del 1° gennaio (indicando l'addebito previsto)

Queste nuove voci hanno una colonna adjustment_info nell'esportazione dei dati di fatturazione. La fattura originale di gennaio, che mostra l'addebito eccessivo, non verrà modificata. Puoi verificare gli addebiti nell'esportazione dei dati di fatturazione visualizzando i costi per usage_start_time e raggruppandoli per Day. In queste visualizzazioni, vengono accumulate tutte le correzioni o gli addebiti per l'utilizzo monetizzato in ritardo e non devi preoccuparti di eventuali dati temporaneamente errati.

Se vuoi informazioni più dettagliate sulle correzioni, visualizza tutti gli addebiti in un mese di fatturazione e cerca gli addebiti in cui la data di utilizzo è precedente al mese di fatturazione. Questi addebiti sono il risultato di correzioni o di un utilizzo monetizzato in ritardo.

Il seguente esempio di codice mostra come creare una query di base che restituisce il costo totale delle correzioni o dell'utilizzo monetizzato in ritardo:

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';

Per un esempio di query che restituisce una suddivisione dei costi per servizio, per gli addebiti della fattura, in cui la data di utilizzo si è verificata prima del mese di fatturazione, consulta Esegui query sui dettagli dei costi per visualizzare le correzioni o l'utilizzo monetizzato in ritardo per servizio per un mese di fatturazione specificato in "Esempi di query per l'esportazione dei dati di fatturazione Cloud".

Informazioni sui crediti promozionali nei contratti con prezzi personalizzati

Se hai un contratto con prezzi personalizzati, potresti ricevere crediti promozionali da utilizzare su Google Cloud nell'ambito del contratto. Ad esempio, potresti ricevere 1000 $da utilizzare per le risorse Compute Engine. I crediti promozionali vengono in genere considerati una forma di pagamento. Se disponibili, i crediti promozionali vengono applicati automaticamente per ridurre il totale della fattura.

I termini del contratto specificano se i crediti promozionali si applicano ai costi calcolati al prezzo di listino di uno SKU o al prezzo netto (al netto degli sconti).

Se i crediti promozionali si applicano ai costi calcolati al prezzo di listino, nel report Tabella dei costi è presente un servizio denominato Invoice, con uno SKU denominato Contract billing adjustment. Questo SKU modifica i tuoi crediti in modo che vengano applicati ai costi al prezzo di listino. Per visualizzare l'utilizzo a cui si riferisce l'aggiustamento, esegui una query sulle colonne system.labels. La chiave in system.labels.key è cloud-invoice.googleapis.com/sku_id e il valore in system.labels.value contiene l'ID SKU a cui sono stati applicati il credito e l'aggiustamento.

Informazioni sui tag

I tag sono risorse sotto forma di coppie chiave-valore che possono essere collegate alle risorse direttamente o tramite ereditarietà. Puoi utilizzare i tag per eseguire storni di addebito, audit e altre analisi di allocazione dei costi. Puoi anche utilizzare i tag e l'applicazione condizionale delle policy per avere un controllo granulare in tutta la gerarchia delle risorse.

I tag hanno un modello di autorizzazioni solido e possono supportare l'ereditarietà, la gestione centralizzata, la standardizzazione della nomenclatura e l'integrazione del motore delle policy, mentre le etichette sono uno strumento separato che consente di annotare le risorse.

I dati dei tag vengono visualizzati nelle esportazioni BigQuery per risorse, progetti, cartelle e organizzazioni.

Tag disponibili

Le esportazioni di Costi standard e Costi dettagliati per risorse, progetti, cartelle e organizzazioni includono i seguenti campi per i dati dei tag: Chiave tag, Valore tag, Tag ereditati e Spazio dei nomi tag.

I tag a livello di risorsa nell'esportazione dei dati di fatturazione Cloud sono disponibili per le seguenti risorse:

  • Cluster, istanze e backup di AlloyDB per PostgreSQL
  • Repository Artifact Registry
  • Istanze Bigtable
  • Servizi e job Cloud Run
  • Bucket Cloud Storage
  • Istanze di Compute Engine
  • Istanze Memorystore for Redis
  • Secret globali e regionali di Secret Manager
  • Istanze Spanner
  • Database Firestore

Limitazioni dei tag

  • La propagazione dei tag alle esportazioni di BigQuery potrebbe richiedere fino a un'ora. Se un tag è stato aggiunto o rimosso entro un'ora o se una risorsa esiste da meno di un'ora, potrebbe non essere visualizzato nell'esportazione.

Esempi di query sui costi di utilizzo standard

Questa sezione fornisce esempi di come eseguire query sui dati di costo di utilizzo standard della fatturazione Cloud esportati in BigQuery.

Specifica il nome tabella da utilizzare nelle query

In questi esempi, per eseguire query sui dati di fatturazione Cloud in BigQuery, devi specificare il nome della tabella nella clausola FROM. Il nome della tabella viene determinato utilizzando tre valori: project.dataset.BQ_table_name.

Valori comuni utilizzati nelle query di esempio sui costi standard

Gli esempi di query in questa sezione utilizzano il seguente valore per Nome tabella: project.dataset.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX

Questi esempi di query funzionano anche con i dati di costo di utilizzo dettagliato esportati in BigQuery, anche se non sono scritti per recuperare le informazioni a livello di risorsa fornite con l'opzione di esportazione del costo di utilizzo dettagliato.

Restituire i costi totali di una fattura

Le seguenti query mostrano due modi per visualizzare i valori di costi e crediti utilizzando i dati di fatturazione esportati.

  • Il campo total somma direttamente i valori di costo e credito in virgola mobile, il che può comportare errori di arrotondamento in virgola mobile.
  • Il campo total_exact converte i valori di costi e crediti in micro prima di sommarli, quindi li riconverte in dollari dopo la somma, evitando l'errore di arrotondamento della rappresentazione in virgola mobile.

Esempio 1: somma di tutti i costi per fattura

Questa query mostra il totale delle fatture di ogni mese, come somma di costi, tasse, aggiustamenti ed errori di arrotondamento standard.

SQL standard

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
;

Ad esempio, il risultato della query precedente potrebbe essere:

Riga mese totale total_exact
1 201901 1005,004832999999984 $ 1005,00 $
2 201902 992,3101739999999717 $ 992,31 $
3 201903 1220,761089999999642 $ 1220,76 $

Esempio 2: restituisci i dettagli per tipo di costo, per mese di fatturazione

Questa query mostra i totali per ogni cost_type per ogni mese. I tipi di costo includono costi, tasse, aggiustamenti ed errori di arrotondamento standard.

SQL standard

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
;

Ad esempio, il risultato della query precedente potrebbe essere:

Riga mese cost_type totale total_exact
1 201901 normale 1000.501209987994782 $ 1000,50 $
2 201901 rounding_error –0,500489920049387 $ –0,50 $
3 201901 tax 10,000329958477891 $ $ 10,00
4 201901 aggiustamento –5,002572999387045 $ -5,00 $

Esempi di query con etichette

I seguenti esempi illustrano altri modi per eseguire query sui dati con le etichette.

Per gli esempi in questa sezione, supponiamo quanto segue:

  • Hai due app (grapefruit-squeezer e chocolate-masher).
  • Per ogni app, hai due ambienti (dev e prod).
  • L'ambiente di sviluppo ha un'istanza di piccole dimensioni per app.
  • L'ambiente di produzione ha un'istanza di piccole dimensioni nelle Americhe e un'istanza di piccole dimensioni in Asia.
  • Ogni istanza è etichettata con l'app e l'ambiente.
  • Hai un'istanza senza etichette che utilizzi per la sperimentazione.

La tua fattura totale è di 24 $con la seguente suddivisione:

Istanza Etichette Costo totale
Piccola istanza con una vCPU in esecuzione nelle Americhe Nessuna $ 4
Piccola istanza con una vCPU in esecuzione nelle Americhe app: chocolate-masher
environment: dev
2 $
Piccola istanza con una vCPU in esecuzione nelle Americhe app: grapefruit-squeezer
environment: dev
3 $
Piccola istanza con una vCPU in esecuzione nelle Americhe app: chocolate-masher
environment: prod
$ 3,25
Piccola istanza con una vCPU in esecuzione in Asia app: chocolate-masher
environment: prod
$ 3,75
Piccola istanza con una vCPU in esecuzione nelle Americhe app: grapefruit-squeezer
environment: prod
$ 3,50
Piccola istanza con una vCPU in esecuzione in Asia app: grapefruit-squeezer
environment: prod
$ 4,50

Esecuzione di query su ogni riga senza raggruppamento

La visualizzazione più granulare di questi costi si otterrebbe eseguendo una query su ogni riga senza raggruppamento. Supponi che tutti i campi, eccetto le etichette e la descrizione della SKU, siano gli stessi (progetto, servizio e così via).

SQL standard

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

SQL precedente

TO_JSON_STRING not supported.
Riga sku.description etichette costo
1 Piccola istanza con una vCPU in esecuzione nelle Americhe [] $ 4
2 Piccola istanza con una vCPU in esecuzione nelle Americhe [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"dev"}] $ 2
3 Piccola istanza con una vCPU in esecuzione nelle Americhe [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"dev"}] $ 3
4 Piccola istanza con una vCPU in esecuzione nelle Americhe [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] $ 3,25
5 Piccola istanza con una vCPU in esecuzione in Asia [{"key":"app","value":"chocolate-masher"},{"key":"environment","value":"prod"}] $ 3,75
6 Piccola istanza con una vCPU in esecuzione nelle Americhe [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] $ 3,50
7 Piccola istanza con una vCPU in esecuzione in Asia [{"key":"app","value":"grapefruit-squeezer"},{"key":"environment","value":"prod"}] $ 4,50
TOTAL $ 24

Raggruppamento per mappa di etichetta sotto forma di stringa JSON

Questo è un modo rapido e semplice per ripartire i costi in base a ogni combinazione di etichette.

SQL standard

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

SQL precedente

TO_JSON_STRING not supported.
Riga etichette costo
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
TOTAL $ 24

Raggruppamento per valore di etichetta per una chiave specifica

La ripartizione dei costi per i valori di una chiave di etichetta specifica è un caso d'uso comune. Utilizzando una clausola LEFT JOIN e inserendo il filtro della chiave nella condizione JOIN (anziché WHERE), includi i costi che non contengono questa chiave e ottieni così una visualizzazione completa dei costi.

SQL standard

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;

SQL precedente

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;
Riga ambiente costo
1 prod $ 15
2 dev $ 5
3 null $ 4
TOTAL $ 24

Raggruppamento per coppie chiave/valore

Fai attenzione al momento di interpretare o esportare questi risultati. Una singola riga qui mostra una somma valida senza doppio conteggio, ma non deve essere combinata con altre righe (tranne, eventualmente, se la chiave è la stessa o se hai la certezza che le chiavi non siano mai impostate sulla stessa risorsa).

SQL standard

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;

SQL precedente

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;
Riga chiave valore costo
1 null null $ 4
2 app chocolate-masher $ 9
3 app grapefruit-squeezer $ 11
4 environment dev $ 5
5 environment prod $ 15
TOTAL $ 44

Nota come la somma totale sia maggiore dell'importo della tua fattura.

Query sugli sconti per impegno di utilizzo

Le seguenti query mostrano i modi per visualizzare le tariffe e i crediti associati agli sconti per impegno di utilizzo nei dati di fatturazione esportati. Per capire in che modo le tariffe e i crediti dell'impegno vengono attribuiti al tuo account di fatturazione Cloud e ai tuoi progetti, consulta Attribuzione degli sconti per impegno di utilizzo.

Visualizzazione delle tariffe di impegno

Per visualizzare le tariffe per l'impegno per i tuoi sconti per impegno di utilizzo nell'esportazione dei dati di fatturazione, utilizza la seguente query di esempio.

SQL standard

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

Visualizzazione dei crediti di impegno

Per visualizzare i crediti per gli sconti per impegno di utilizzo nell'esportazione dei dati di fatturazione, utilizza la seguente query di esempio.

SQL standard

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

Utilizza i filtri della gerarchia delle risorse per esaminare l'origine

Puoi utilizzare i filtri della gerarchia delle risorse per aggregare i costi in base agli elementi della gerarchia, come progetti, cartelle e organizzazioni. Questi esempi di query mostrano i metodi per sommare i costi filtrati in base agli elementi della gerarchia delle risorse e visualizzare le origini dei progetti.

Esempio 1: filtra per nome della risorsa

Questo esempio mostra query che raggruppano i costi in base alla derivazione del progetto e filtrano solo i costi generati in un elemento della gerarchia specificato, identificato dal nome della risorsa relativa.

Metodo stringa

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

Metodo UNNEST

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

Esempio 2: filtra per nome visualizzato

Questo esempio mostra query che raggruppano i costi in base alla derivazione del progetto e filtrano solo i costi generati in un elemento della gerarchia specificato, identificato dal nome visualizzato fornito dall'utente.

Metodo di corrispondenza delle stringhe

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

Metodo UNNEST

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

Esempi di query con tag

I seguenti esempi illustrano i modi per eseguire query sui dati con i tag.

Calcola i costi per mese di fatturazione con i tag

La seguente query mostra come utilizzare i costi di reso per mese di fatturazione per il tag cost_center.

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;

Ad esempio, il risultato della query precedente potrebbe essere:

Riga 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 personalizzazione 16.08

Visualizza i costi delle risorse senza tag

Questa query mostra il totale delle fatture per le risorse senza tag, raggruppate per mese di fatturazione.

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;

Ad esempio, il risultato della query precedente potrebbe essere:

Riga 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

Altri esempi di query

Esegui query su costi e crediti per progetto per un mese di fatturazione specificato

Se specifichi un mese di fatturazione specifico, ad esempio giugno 2020 (nel formato AAAAMM), questa query restituirà una visualizzazione dei costi e dei crediti raggruppati per progetto, oltre a mostrare le etichette del progetto.

SQL standard

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;

SQL precedente

TO_JSON_STRING not supported.
Riga 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

Report sui costi e sui prezzi disponibili nella console Google Cloud