Struttura dell'esportazione di dati standard

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

Schema dei dati di costo di utilizzo standard

Nel tuo set di dati BigQuery, i dati di costo standard di utilizzo di 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 standard di utilizzo di Google Cloud esportati in BigQuery. 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 standard di utilizzo in BigQuery, tieni presente quanto segue:

  • 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 nella fatturazione Cloud, se selezioni un set di dati configurato per l'utilizzo di una località multiregionale (UE o USA), i dati di fatturazione Cloud saranno disponibili in modo retroattivo dall'inizio del mese precedente. I dati vengono esportati in ordine cronologico. Per il backfill iniziale dei dati esportati, potrebbero essere necessari fino a 5 giorni prima che i tuoi dati di fatturazione Cloud retroattivi completino l'esportazione 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à supportata per l'area geografica, i tuoi dati di fatturazione Cloud saranno disponibili a partire dalla data in cui hai abilitato l'esportazione.
  • Se hai abilitato, disabilitato e successivamente riattivato 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 disattivata in modo esplicito.
  • Scopri di più sulla frequenza dei caricamenti dei dati nelle tabelle BigQuery.
  • I dati di costo standard per l'utilizzo non includono dati di costo a livello di risorsa, ad esempio una macchina virtuale o un'unità SSD che genera l'utilizzo del servizio. Se vuoi esportare i dati di costo a livello di risorsa in BigQuery per l'analisi, valuta la possibilità di abilitare l'esportazione dei dati di costo dettagliati per l'utilizzo. I dati di costo di utilizzo dettagliati esportati includono tutti i campi e le informazioni contenute 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).
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 account di fatturazione Cloud subaccount, si tratta dell'ID del subaccount, non dell'ID dell'account di fatturazione Cloud principale del rivenditore.

invoice.month Stringa

L'anno e il mese (AAAAMM) della fattura che include le voci relative ai costi. Ad esempio, "201901" equivale a gennaio 2019.

Puoi utilizzare questo campo per conoscere gli addebiti totali sulla fattura. Vedi Esempi di query di esportazione della fatturazione Cloud in BigQuery.

cost_type Stringa

Il tipo di costo rappresentato da questa voce: Normale, Tasse, Aggiustamento o Arrotondamento.

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

Per ulteriori informazioni, consulta la documentazione di BigQuery sui tipi di dati di timestamp. Vedi anche Differenze tra dati esportati e fatture di seguito.

usage_end_time Timestamp L'ora di fine dell'intervallo di utilizzo orario in cui è stato calcolato il costo specificato. L'utilizzo e i costi di tutti i servizi sono visualizzati con granularità oraria, il che significa che l'utilizzo dei servizi a lunga esecuzione è distribuito su più intervalli orari.

Per ulteriori informazioni, consulta la documentazione di BigQuery sui tipi di dati di timestamp. Vedi anche Differenze tra dati esportati e fatture di seguito.

project Struct project contiene campi che descrivono il progetto di fatturazione Cloud, come 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 e 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 in base al numero di progetto.
project.name Stringa Il nome del progetto Google Cloud che ha generato i dati di fatturazione Cloud.
project.ancestry_numbers Stringa I predecessori nella gerarchia di risorse del progetto identificato dalla risorsa project.id specificata (ad esempio, progetto-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 un elemento pubblicitario di costo, inclusi progetti, cartelle e organizzazioni. I predecessori vengono ordinati dal nodo alla radice (progetto, cartella, organizzazione).

project.ancestors.resource_name Stringa Il nome della risorsa relativa per ogni predecessore nel formato "resourceType/resourceNumber". L'uso di project.ancestors.resource_name offrirà una visualizzazione più completa di project.ancestry_numbers.
project.ancestors.display_name Stringa Il nome che hai creato per la risorsa nella console.
project.labels.key Stringa Se sono presenti etichette, la parte relativa alla chiave della coppia chiave-valore che comprende l'etichetta nel progetto Google Cloud in cui si è verificato l'utilizzo. Per scoprire di più sull'utilizzo delle etichette, consulta la pagina Utilizzo delle etichette.
project.labels.value Stringa Se sono presenti etichette, la parte relativa al valore della coppia chiave-valore che comprende l'etichetta nel progetto Google Cloud in cui si è verificato l'utilizzo. Per ulteriori informazioni sull'uso delle etichette, vedi Utilizzo delle etichette.
labels.key Stringa Se sono presenti etichette, la parte relativa alla chiave della coppia chiave-valore che comprende l'etichetta nella risorsa Google Cloud in cui si è verificato l'utilizzo. Per ulteriori informazioni sull'uso delle etichette, vedi Utilizzo delle etichette.
labels.value Stringa Se sono presenti etichette, la parte relativa al valore della coppia chiave-valore che comprende l'etichetta nella risorsa Google Cloud in cui si è verificato l'utilizzo. Per ulteriori informazioni sull'uso delle etichette, vedi Utilizzo delle etichette.
system_labels.key Stringa Se sono presenti etichette di sistema, la parte relativa alla chiave della coppia chiave-valore che comprende l'etichetta generata dal sistema nella risorsa in cui si è verificato l'utilizzo. Vedi anche Etichette di sistema disponibili.
system_labels.value Stringa Se sono presenti etichette di sistema, la parte relativa al valore della coppia chiave-valore che comprende l'etichetta generata dal sistema nella risorsa in cui si è verificato l'utilizzo. Vedi anche Etichette di sistema disponibili.
location.location Stringa Posizione di utilizzo a livello di più regioni, paesi, regioni o zone oppure global per risorse senza una località specifica. Per saperne di più, consulta Area geografica e regioni e Località di Google Cloud.
location.country Stringa Quando location.location è un paese, un'area geografica o una zona, questo campo corrisponde al paese di utilizzo, ad esempio US. Per saperne di più, consulta Area geografica e regioni e Località di Google Cloud.
location.region Stringa Quando location.location è una regione o zona, questo campo corrisponde alla regione di utilizzo, ad esempio us-central1. Per saperne di più, consulta Area geografica e regioni e Località di Google Cloud.
location.zone Stringa Quando location.location è una zona, questo campo è la zona di utilizzo, ad esempio us-central1-a. Per saperne di più, consulta Area geografica e regioni e Località di Google Cloud.
cost In virgola mobile Il costo di utilizzo al netto di eventuali crediti, con una precisione fino a sei cifre decimali. Per ottenere il costo totale inclusi i crediti, è necessario aggiungere i credits.amount al costo. Per ulteriori informazioni, guarda questa query di esempio.
currency Stringa La valuta in cui viene addebitato il costo. Per maggiori informazioni, consulta Valuta locale per la fatturazione e i pagamenti.
currency_conversion_rate In virgola mobile Il tasso di cambio dai dollari statunitensi alla valuta locale. Vale a dire che cost ÷ currency_conversion_rate è il costo in dollari statunitensi.
usage.amount 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à base per l'archiviazione standard è byte-secondi.
usage.amount_in_pricing_units 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 Google Cloud e Google Maps Platform.
credits.id Stringa Se presente, indica che un credito è associato allo SKU 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 prodotto non è associato a un credito.

credits.full_name Stringa Il nome del credito associato allo SKU prodotto. Questa è una descrizione leggibile di un credits.idalfanumerico. Alcuni esempi sono i crediti per le prove senza costi o gli sconti per impegno di utilizzo basati sulla spesa.

I valori credits.full_name sono presenti solo per gli SKU con un valore 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 sarà vuoto.

credits.type Stringa Questo campo descrive lo scopo o l'origine di credits.id. I tipi di credito includono:
  • COMMITTED_USAGE_DISCOUNT: contratti per impegno di utilizzo basati sulle risorse acquistati per Compute Engine in cambio di prezzi molto scontati per l'utilizzo delle VM.
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE: contratti per impegno di utilizzo basati sulla spesa acquistati per i servizi in cambio dell'impegno a spendere un importo minimo.
  • DISCOUNT: il tipo di credito dello sconto viene utilizzato per i crediti guadagnati dopo aver raggiunto una soglia di spesa contrattuale. Tieni presente che nei report di fatturazione Cloud disponibili nella console Google Cloud, il tipo di credito dello sconto è elencato come Sconti basati sulla spesa (contrattuali).
  • FREE_TIER: alcuni servizi offrono l'utilizzo gratuito delle risorse fino ai limiti specificati. Per questi servizi, i crediti vengono applicati per implementare l'utilizzo del livello gratuito.
  • PROMOTION: il tipo di credito promozionale include Prova gratuita di Google Cloud e crediti per le campagne di marketing oppure altri vantaggi per utilizzare Google Cloud. Se disponibili, i crediti promozionali sono considerati una forma di pagamento e vengono applicati automaticamente per ridurre la tua fattura totale.
  • RESELLER_MARGIN: se sei un rivenditore, il tipo di credito Margine rivenditore indica gli sconti del Programma per rivenditori ottenuti per ogni voce idonea.
  • SUBSCRIPTION_BENEFIT: crediti guadagnati acquistando abbonamenti a lungo termine a servizi in cambio di sconti.
  • SUSTAINED_USAGE_DISCOUNT: il tipo di credito Sconti per utilizzo sostenuto è uno sconto automatico che guadagni per l'esecuzione di risorse Compute Engine specifiche per una parte significativa del mese di fatturazione.
credits.name Stringa Una descrizione del credito applicata all'account di fatturazione Cloud.
credits.amount 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 per gli elementi pubblicitari di costo associati a un account di fatturazione Cloud.

I valori adjustment_info sono presenti solo se la voce di costo è stata generata per una modifica della fatturazione Cloud. Per modifiche può essere eseguita una modifica per motivi di correzione o non correzione. Il tipo adjustment_info contiene dettagli sull'aggiustamento, indica se è stato emesso per correggere un errore o per altri motivi.

adjustment_info.id Stringa Se presente, indica che un aggiustamento è associato a un elemento pubblicitario 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 all'uso errato del report.
  • PRICE_CORRECTION: una correzione dovuta a regole di prezzo errate.
  • METADATA_CORRECTION: una correzione per correggere i metadati senza modificare i costi.
  • GOODWILL: un credito emesso a favore del cliente per l'avviamento.
  • SALES_BASED_GOODWILL: credito concesso al cliente per l'avviamento nell'ambito di un contratto.
  • SLA_VIOLATION: credito assegnato al cliente a causa di una violazione dell'obiettivo del livello di servizio (SLO).
  • BALANCE_TRANSFER: un aggiustamento per trasferire i fondi da un account pagamenti a un altro.
  • ACCOUNT_CLOSURE: un aggiustamento per portare un account chiuso a un saldo pari a zero.
  • GENERAL_ADJUSTMENT: una modifica generale dell'account di fatturazione.
adjustment_info.mode Stringa

Modalità di emissione dell'aggiustamento,

tra cui:

  • 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 le voci corrette con utilizzo e costo aggiornati.
  • COMPLETE_NEGATION: la correzione annulla completamente l'utilizzo e il costo originali e non vengono rimonetizzati ulteriori utilizzi.
  • MANUAL_ADJUSTMENT: l'aggiustamento viene assegnato manualmente al costo e all'utilizzo.
export_time Timestamp Tempo di elaborazione associato a un'aggiunta di dati di fatturazione Cloud. Questo valore aumenterà sempre a ogni nuova esportazione.
Vedi anche Differenze tra dati esportati e 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 una tags.key. In un dato momento, è possibile collegare esattamente un valore a una risorsa per una determinata chiave.

tags.inherited Booleano

Indica se un'associazione di tag è ereditata (Tag ereditati = Vero) o diretta/non ereditata (Tag ereditati = Falso). Puoi creare un'associazione di tag a una risorsa padre nella gerarchia delle risorse.

cost_at_list In virgola mobile

I prezzi di listino associati a tutti gli elementi pubblicitari addebitati sul tuo account di fatturazione Cloud.

tags.namespace Stringa

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

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 da agente.
seller_name Stringa

Il nome legale del venditore.

Comprendere dati di costo standard e dettagliati sull'utilizzo

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

Informazioni sulle etichette

Vedrai le colonne per le etichette nel set di dati BigQuery, ma per la release attuale alcuni valori di etichetta saranno vuoti. I dati di esportazione delle etichette verranno compilati in momenti diversi per servizi diversi, a seconda di quando verranno forniti da ciascun servizio.

Etichette di sistema disponibili

Le etichette di sistema sono coppie chiave/valore relative a metadati importanti relativi alla risorsa che ha generato l'utilizzo. Le seguenti etichette di sistema sono incluse automaticamente nell'utilizzo applicabile.

system_labels.key Esempio system_labels.value Descrizione
compute.googleapis.com/machine_spec n1-standard-1, personalizzato-2-2048 Configurazione della macchina virtuale. Per ulteriori informazioni, consulta Tipi di macchina.
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 personalizzato-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 che è stato prenotato tramite prenotazioni a livello di zona ma non utilizzato.

Differenze tra dati esportati e fatture

Poiché i servizi Google Cloud inviano i dati di utilizzo e di costo ai processi di fatturazione Cloud a intervalli variabili, si verifica un ritardo tra l'utilizzo delle risorse Google Cloud e i costi di utilizzo nelle tabelle BigQuery. Al termine di un mese di calendario, l'utilizzo segnalato per ritardo potrebbe non essere incluso nella fattura del mese e potrebbe invece essere riportato nella fattura del mese successivo.

Quando esegui una query sui costi utilizzando i campi del timestamp, i dati restituiti potrebbero rilevare un utilizzo segnalato in ritardo che non era originariamente incluso nella fattura generata per lo stesso mese di utilizzo. Di conseguenza, i dati di fatturazione Cloud restituiti potrebbero non essere mappati direttamente a quella fattura.

I campi timestamp includono:

  • usage_start_time
  • usage_end_time
  • export_time

Per restituire i dati di fatturazione Cloud che vengono mappati direttamente a una fattura, esegui una query in invoice.month anziché nei campi timestamp.

Imposte

A partire dal 1° settembre 2020, nei tuoi dati di costo di utilizzo verrà indicata la tua responsabilità fiscale per ciascuno dei tuoi progetti, anziché come voce singola. Se disponi di query o visualizzazioni che dipendono dai dati fiscali, potrebbe essere necessario aggiornarle per tenere conto di queste modifiche.

Ad esempio, per i costi registrati prima del 1° settembre, i tuoi dati di costo di utilizzo sembravano simili al seguente esempio, che mostra una passività fiscale totale di 10 $.

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 progetto-esempio Normale 60 $
123456-ABCDEF-123456 progetto-test Normale 40 $
123456-ABCDEF-123456 [vuota] Imposte 10 $

Per i costi registrati dopo il 1° settembre, 10 € sono suddivisi a 6 € per example-project e 4 € per test-project:

billing_account_id project.id cost_type cost
123456-ABCDEF-123456 progetto-esempio Normale 60 $
123456-ABCDEF-123456 progetto-test Normale 40 $
123456-ABCDEF-123456 progetto-esempio Imposte $ 6
123456-ABCDEF-123456 progetto-test Imposte 4 $

Errori e aggiustamenti

Tieni presente che, nell'improbabile caso in cui i dati di fatturazione Cloud contengano un errore o richiedano un aggiustamento, ai dati di fatturazione Cloud verranno aggiunti dati che negano l'errore. Tutte le colonne rimarranno invariate, ad eccezione di:

  • cost
  • credit
  • usage.amount
  • export_time

Se hai bisogno di determinare quali dati sono nuovi, puoi farlo eseguendo una query su export_time.

Nei dati esportati, il mese di fatturazione per gli aggiustamenti della fatturazione Cloud e le imposte associate riflette il mese in cui l'aggiustamento è stato emesso. Tuttavia, l'aggiustamento potrebbe essere applicato a una fattura in un mese diverso da quello del mese di emissione dell'aggiustamento. Per sapere se e dove viene applicato un aggiustamento, devi esaminare i documenti relativi alle fatture o alle note di credito/debito disponibili nella pagina dei documenti della console Google Cloud. Per ulteriori dettagli sull'analisi degli aggiustamenti e su come vengono applicati, consulta la sezione Informazioni su promemoria e aggiustamenti.

Informazioni sui crediti promozionali nei contratti sui prezzi personalizzati

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

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

Se i crediti promozionali si applicano ai costi calcolati per il prezzo di listino, nel report Tabella dei costi è disponibile un servizio chiamato Invoice, con uno SKU chiamato Contract billing adjustment. Questo SKU aggiusta i tuoi crediti in modo che vengano applicati ai costi al prezzo di listino. Per visualizzare l'utilizzo previsto per 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 si applica il credito e l'aggiustamento.

Informazioni sui tag

<atrack-type="tasks"track-name="internallink"track-metadata-position="body" l10n-attrs-original-order="href,track-type,track-name,track-metadata-position" l10n-crypt-href="iUWjxJRweELRfbeZQy/YQwc9zZofjBXGTnBsn per i reindirizzamenti{/1} Puoi utilizzare i tag per eseguire storni di addebito, controlli e altre analisi dell'allocazione dei costi. Puoi anche utilizzare i tag e l'applicazione condizionale dei criteri per avere un controllo granulare in tutta la gerarchia delle risorse.</atrack-type="tasks"track-name="internallink"track-metadata-position="body">

I tag sono dotati di un modello di autorizzazioni solido e possono supportare l'ereditarietà, la gestione centralizzata, la standardizzazione della nomenclatura e l'integrazione di Policy Engine, mentre

I dati dei tag vengono visualizzati nelle esportazioni di 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.

Limitazioni relative ai tag

  • I tag a livello di risorsa nell'esportazione dei dati di fatturazione Cloud sono limitati solo alle istanze Compute Engine e Spanner.

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

Esempi di query sul costo di utilizzo standard

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

Specificare il nome della tabella da utilizzare nelle query

In questi esempi, per eseguire una 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 costo standard di esempio

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 dettagliati sull'utilizzo esportati in BigQuery, sebbene non vengano scritti per recuperare le informazioni a livello di risorsa fornite con l'opzione di esportazione dei costi di utilizzo.

Restituire i costi totali su una fattura

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

  • Il campo total somma direttamente il costo in virgola mobile e i valori del credito, il che può comportare errori di arrotondamento in virgola mobile.
  • Il campo total_exact converte i costi e i valori del credito in micro prima di sommare, quindi converte in dollari dopo la somma, evitando l'errore di arrotondamento 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,0048329999999984 $ 1005,00 $
2 201902 992,31017399999999717 992,31 $
3 201903 1220,7610899999999642 $ 1220,76 $

Esempio 2: dettagli dei resi per tipo di costo e mese di fatturazione

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

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 tipo_di_costo totale total_exact
1 201901 normale 1000,501209987994782 $ 1000,50 $
2 201901 errore_di_arrotondamento -0,500489920049387 $ -0,50 $
3 201901 fiscali 10,000329958477891 $ $ 10,00
4 201901 aggiustamento -5 $,002572999387045 -5 $

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, si presume quanto segue:

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

Il tuo conto totale è di $ 24 con la seguente ripartizione:

Istanza Etichette Costo totale
Piccola istanza con una vCPU in esecuzione nelle Americhe Nessuno $ 4
Piccola istanza con 1 vCPU in esecuzione nelle Americhe app: chocolate-masher
ambiente: sviluppo
$ 2
Piccola istanza con 1 vCPU in esecuzione nelle Americhe app: spremiagrumi
ambiente: dev
3 $
Piccola istanza con 1 vCPU in esecuzione nelle Americhe app: chocolate-masher
ambiente: produzione
$ 3,25
Piccola istanza con una vCPU in esecuzione in Asia app: chocolate-masher
ambiente: produzione
$ 3,75
Piccola istanza con 1 vCPU in esecuzione nelle Americhe app: spremiagrumi
ambiente: prod
$ 3,50
Piccola istanza con una vCPU in esecuzione in Asia app: spremiagrumi
ambiente: 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
TOTALE $ 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
TOTALE $ 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. Se utilizzi un LEFT JOIN e inserisci il filtro per la chiave ("key") nella condizione JOIN (anziché WHERE), includi il costo che non contiene questa chiave, in modo da ottenere una visione completa del costo.

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
TOTALE $ 24

Raggruppamento per coppie chiave/valore

Fai attenzione al momento di interpretare o esportare questi risultati. Una singola riga in questi esempi mostra una somma valida senza doppio conteggio, ma non dovrebbe essere combinata con altre righe, tranne eventualmente se la chiave è la stessa o se hai la certezza che le chiavi non verranno 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
TOTALE $ 44

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

Query sugli sconti per impegno di utilizzo

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

Visualizzazione delle commissioni per impegno

Per visualizzare le tariffe di impegno 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(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 per impegno

Per visualizzare i crediti per lo sconto 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 la discendenza

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

Esempio 1: filtra per nome risorsa

Questo esempio illustra le query che raggruppano i costi per discendenza del progetto e filtrano solo i costi generati in un determinato elemento gerarchico, 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: filtrare per nome visualizzato

Questo esempio illustra le query che raggruppano i costi per discendenza del progetto e filtrano solo i costi generati in un elemento gerarchico specificato, identificato dal nome visualizzato fornito dall'utente.

Metodo di corrispondenza 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 "%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 come eseguire query sui dati con i tag.

Calcolo dei 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 `ivory-vim-309221.billing_export_dataset.gcp_billing_export_resource_v1_018ADD_3CEBBB_A4DF22`, 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 fattura_mese centro_costo costo_netto
1 202208 app_mobile_android 9,93
2 202208 app_mobile_ios 9,93
3 202209 app_mobile_android 25,42
4 202209 app_mobile_ios 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 fattura.

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.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 fattura_mese costo_netto
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

Query sui costi e crediti per progetto per un mese di fatturazione specificato

Se specifichi un mese di fatturazione specifico di giugno 2020 (nel formato AAAAMM), questa query restituirà una visualizzazione dei costi e dei crediti raggruppati per progetto insieme alle 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