Questo documento fornisce informazioni di riferimento per lo schema dei dati sul costo di utilizzo standard di fatturazione Cloud che vengono esportati in ogni tabella di BigQuery.
Schema dei dati sul costo di utilizzo standard
Nel tuo set di dati BigQuery, i dati standard sul costo 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 sul costo di utilizzo standard di Google Cloud esportati in BigQuery. Lo schema contiene informazioni standard sull'utilizzo e sui costi dell'account di fatturazione Cloud, ad esempio ID account, data fattura, servizi, SKU, progetti, etichette, località, costo, utilizzo, crediti, aggiustamenti e valuta.
Quando utilizzi i dati sul costo di utilizzo standard in BigQuery, tieni conto di quanto segue:
- Quando selezioni o crei un set di dati BigQuery per i dati di costo di utilizzo standard, puoi selezionare qualsiasi posizione del set di dati supportata per l'utilizzo con i dati della fatturazione Cloud.
- Quando attivi l'esportazione dei dati di costo di utilizzo standard per la prima volta in Fatturazione Cloud, se selezioni un set di dati configurato per utilizzare una posizione multiregionale (UE o Stati Uniti), i dati di Fatturazione Cloud saranno disponibili in modo retroattivo dall'inizio del mese precedente. I dati vengono esportati in ordine cronologico. Per il completamento dell'esportazione iniziale dei dati esportati, potrebbero essere necessari fino a cinque giorni prima che i dati di fatturazione Cloud retroattivi vengano visualizzati.
- Se attivi l'esportazione dei dati relativi ai costi di utilizzo standard e selezioni un set di dati configurato per utilizzare una località di regione supportata, i dati di fatturazione Cloud saranno disponibili a partire dalla data in cui hai attivato l'esportazione.
- Se hai attivato, disattivato 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 esplicitamente.
- Scopri di più sulla frequenza dei caricamenti dei dati nelle tabelle BigQuery.
- I dati di costo di utilizzo standard non includono i 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, si tratta dell'ID del subaccount, non dell'ID dell'account di fatturazione Cloud del rivenditore principale. |
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. Consulta Esempi di query per l'esportazione della fatturazione Cloud in BigQuery. |
invoice.publisher_type |
Stringa | Indica l'editore associato alla transazione. Questo campo supporta la suddivisione delle fatture tra le transazioni effettuate direttamente con Google (proprietari) e le transazioni effettuate con un partner (terza parte), indicando anche le normative che potrebbero essere applicate alla transazione. I valori possibili sono:
|
cost_type |
Stringa | Il tipo di costo rappresentato da questa voce: normale, tasse, 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 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 timestamp. Consulta anche Dati esportati e fatture: differenze. |
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 timestamp. Consulta anche Dati esportati e fatture: differenze. |
project |
Struct | project contiene campi che descrivono il progetto di fatturazione Cloud, ad esempio ID, numero, nome, ancestry_numbers e 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 tramite questo numero. |
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 identificati dal valore di project.id specificato (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 una voce di costo, inclusi progetti, cartelle e organizzazioni. Gli antenati sono ordinati dal nodo alla radice (progetto, cartella e organizzazione). |
project.ancestors.resource_name | Stringa | Il
nome della risorsa relativa per ogni antenato nel formato "resourceType/resourceNumber". L'utilizzo di project.ancestors.resource_name offre 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.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 saperne di più sull'utilizzo delle etichette, consulta Utilizzare le 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 saperne di più sull'uso delle etichette, vedi Utilizzare le 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 saperne di più sull'uso delle etichette, vedi Utilizzare le 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 saperne di più sull'uso delle etichette, vedi Utilizzare le 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, paese, regione o zona;
oppure global per
le risorse che non hanno una posizione specifica.
Per saperne di più, consulta
Geografia e regioni e
Località Google Cloud.
|
location.country |
Stringa | Quando location.location è un paese, una regione o una zona, questo
campo corrisponde al paese di utilizzo, ad esempio US .
Per saperne di più, consulta
Geografia e regioni e
Località Google Cloud.
|
location.region |
Stringa | Quando location.location è una regione o una zona, questo campo corrisponde alla regione di utilizzo, ad esempio us-central1 .
Per saperne di più, consulta
Geografia e regioni e
Località 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
Geografia e regioni e
Località Google Cloud.
|
cost |
Numero in virgola mobile | Il costo dell'utilizzo prima di applicare eventuali crediti, con una precisione fino a sei cifre decimali. Per ottenere il costo totale inclusi i crediti, è necessario aggiungere credits.amount al costo.
Per ulteriori informazioni, consulta
questa query di esempio. |
currency |
Stringa | La valuta in cui viene addebitato il costo. Per ulteriori informazioni, 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 pratica,
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à base per l'archiviazione standard è 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 Google Cloud e Google Maps Platform. |
credits.id |
Stringa | Se presente, indica che un credito è associato allo SKU prodotto.
I valori credits.id possono essere 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.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 gratuita o
Sconto per impegno di utilizzo basato sulla spesa.
I valori |
credits.type |
Stringa | Questo campo descrive lo scopo o l'origine di credits.id .
I tipi di credito includono:
|
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.id |
Stringa | Se presente, indica che un aggiustamento è associato a una voce di costo. adjustment_info.id è l'ID univoco per 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:
|
adjustment_info.mode |
Stringa | Modalità di emissione dell'aggiustamento, Le modalità includono:
|
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 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 visualizzato della chiave associata a questo determinato tag. |
tags.value |
Stringa | Le risorse associate a un |
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 principale nella gerarchia delle risorse. |
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 della chiave tag e del valore tag per creare un nome completamente qualificato univoco a livello globale per la chiave tag o il valore tag. |
cost_at_list |
Numero in virgola mobile | I prezzi di listino associati a tutte le voci addebitate sul tuo account di fatturazione Cloud. |
transaction_type |
Stringa | Il tipo di transazione del venditore. Il tipo di transazione potrebbe essere uno dei seguenti:
|
seller_name |
Stringa | Il nome legale del venditore. |
Informazioni sui dati dei costi di utilizzo standard e dettagliati
Le sezioni seguenti descrivono i dati standard e i dati dettagliati sul costo di utilizzo esportati in BigQuery.
Informazioni sulle etichette
I dati sui costi relativi a 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 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 vengono forniti da ciascun servizio.
Etichette di sistema disponibili
Le etichette di sistema sono coppie chiave-valore per i metadati importanti relativi alla risorsa che ha generato l'utilizzo. Le seguenti etichette di sistema vengono incluse automaticamente per l'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 ulteriori informazioni, consulta Tipo 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 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 zonali ma non utilizzato. |
storage.googleapis.com/object_state |
live; noncurrent; soft_deleted; multipart | Lo stato dell'oggetto di archiviazione di cui viene addebitato il costo. |
Differenze tra dati esportati e fatture
I prodotti Google Cloud registrano i dati di utilizzo e di costo per le procedure di fatturazione Cloud a intervalli variabili. Di conseguenza, potresti notare un ritardo tra l'utilizzo dei servizi Google Cloud e la visualizzazione dell'utilizzo e dei costi in Fatturazione Cloud. In genere, i costi sono disponibili entro un giorno, ma a volte possono essere necessarie più di 24 ore.
Alla fine di un mese di calendario, l'utilizzo segnalato in ritardo potrebbe non essere incluso nella fattura di quel mese, ma essere riportato nella fattura del mese successivo.
Quando esegui una query sui costi utilizzando i campi timestamp, i dati restituiti potrebbero includere un utilizzo registrato in ritardo che non era originariamente incluso nella fattura generata per lo stesso mese di utilizzo. Di conseguenza, i dati di fatturazione Cloud retituti potrebbero non essere mappati direttamente alla fattura.
I campi timestamp includono:
usage_start_time
usage_end_time
export_time
Per restituire i dati del fatturazione Cloud che si mappano direttamente a una fattura, esegui una query su
invoice.month
invece che sui campi timestamp.
Imposte
A partire dal 1° settembre 2020, i dati sui costi di utilizzo mostrano la tua responsabilità fiscale per ciascun progetto, anziché come una 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 relativi al costo di utilizzo sono simili a quelli dell'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 | [vuoto] | Tasse | 10 $ |
Per i costi registrati dopo il 1° settembre, i 10 $sono 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 di due categorie: modifiche o correzioni alla fatturazione.
Modifiche alla fatturazione
Le modifiche alla fatturazione vengono visualizzate come voci separate. Se hai ricevuto una modifica della fatturazione, una nuova voce nell'esportazione del 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 ulteriori informazioni 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 nell'esportazione dei dati di fatturazione corrisponderanno ai dati originali, ad eccezione delle seguenti colonne:
cost
credit
usage.amount
export_time
Ad esempio, immagina di dover pagare 10 $per l'utilizzo di SKU A
il 1° gennaio. Nella fattura di gennaio (rilasciata 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) troverai altre due voci:
- -10 $ per l'utilizzo il 1° gennaio (annullamento dell'addebito originale)
- 5 $ per l'utilizzo il 1° gennaio (indicazione dell'addebito previsto)
Questi nuovi elementi hanno una colonna adjustment_info
nell'esportazione dei dati di fatturazione. La
fattura originale di gennaio, che mostra l'addebito in eccesso, 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, eventuali correzioni o addebiti per l'utilizzo con monetizzazione tardiva vengono accumulati e non devi preoccuparti di eventuali dati temporaneamente errati.
Per informazioni più dettagliate sulle correzioni, visualizza tutti gli addebiti in un mese di fatturazione e cerca gli addebiti in cui la data di utilizzo è avvenuta prima del 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 con monetizzazione tardiva:
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 Eseguire query sui dettagli dei costi per visualizzare correzioni o 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 sono generalmente 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 in base al prezzo di listino di uno SKU o al prezzo netto (dopo gli sconti).
Se i tuoi 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 per cui è stato apportato 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 l'eredità. Puoi utilizzare i tag per eseguire storni di addebito, controlli e altre analisi di 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.
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 di criteri, mentre le etichette sono uno strumento separato che ti consente di annotare le risorse.
I dati dei tag vengono visualizzati nelle esportazioni di BigQuery per Risorse, Progetti, Raccolte e Organizzazioni.
Tag disponibili
Le esportazioni Costi standard e Costi dettagliati per Risorse, Progetti, Raccolte e Organizzazioni includono questi 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
- Servizi e job Cloud Run
- Bucket Cloud Storage
- Istanze di Compute Engine
- Istanze Memorystore for Redis
- Secret di Secret Manager
- Istanze Spanner
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 visualizzata nell'esportazione.
Esempi di query sul costo di utilizzo standard
Questa sezione fornisce esempi di come eseguire query sui dati del costo di utilizzo standard di Fatturazione Cloud esportati in BigQuery.
- Restituire i costi totali su una fattura
- Esempi di query con etichette
- Query sugli sconti per impegno di utilizzo
- Utilizza i filtri della gerarchia delle risorse per esaminare la struttura gerarchica
- Altri esempi di query
Specificare 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
.
project
è l'ID del progetto Google Cloud che hai configurato che contiene il tuo set di dati BigQuery.dataset
è il nome del set di dati BigQuery che hai configurato per contenere le tabelle BigQuery con i dati di fatturazione Cloud esportati.BQ_table_name
è il nome della tabella BigQuery che contiene i dati di fatturazione Cloud esportati su cui vuoi eseguire query. Esistono tre tabelle BigQuery che contengono dati di fatturazione Cloud:- Tabella dei costi di utilizzo standard:
nel set di dati BigQuery, questa tabella è denominata
gcp_billing_export_v1_<BILLING_ACCOUNT_ID>
. - Tabella dei costi di utilizzo dettagliati:
nel tuo set di dati BigQuery, questa tabella è denominata
gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>
. - Tabella dei prezzi:
nel set di dati BigQuery, questa tabella è denominata
cloud_pricing_export
.
- Tabella dei costi di utilizzo standard:
nel set di dati BigQuery, questa tabella è denominata
Valori comuni utilizzati nelle query sui costi 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 del 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 costo e credito 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 della somma, quindi li converte di nuovo in dollari dopo la somma, evitando l'errore di arrotondamento a 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: dettagli del reso per tipo di costo, per mese di fatturazione
Questa query mostra i totali per ogni cost_type
per ogni mese. I tipi di costi includono costi standard, 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 | cost_type | totale | total_exact |
---|---|---|---|---|
1 | 201901 | regolare | 1000,501209987994782 $ | 1000,50 $ |
2 | 201901 | rounding_error | -0,500489920049387 $ | -0,50 $ |
3 | 201901 | tasse | 10,000329958477891 $ | $ 10,00 |
4 | 201901 | aggiustamento | -5,002572999387045 $ | -5,00 $ |
Esempi di query con etichette
Gli esempi riportati di seguito mostrano altri modi per eseguire query sui dati con le etichette.
Per gli esempi in questa sezione, presupponiamo quanto segue:
- Hai due app (spremiagrumi e schiacciatrice per il cioccolato).
- Per ogni app hai due ambienti (dev e prod).
- L'ambiente di sviluppo ha un'istanza piccola per app.
- L'ambiente di produzione ha un'istanza piccola nelle Americhe e un'altra piccola in Asia.
- Ogni istanza è etichettata con l'app e l'ambiente.
- Hai un'istanza senza etichette che utilizzi per la sperimentazione.
La 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 |
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 JOIN A SINISTRA e inserisci il filtro della chiave nella condizione JOIN (anziché in WHERE), includi il costo che non contiene questa chiave e ricevi 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 qui mostra una somma valida senza doppi conteggi, ma non deve essere combinata con altre righe (tranne che se la chiave è la stessa o se hai la certezza che le chiavi non vengono 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 come visualizzare le commissioni e i crediti associati agli sconti per impegno di utilizzo nei dati di fatturazione esportati. Per capire in che modo le commissioni 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 commissioni di impegno per gli sconti per utilizzo a livello di impegno 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 dell'impegno
Per visualizzare i crediti dello sconto per utilizzo vincolato 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
Utilizzare i filtri della gerarchia delle risorse per esaminare la struttura
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 metodi per sommare i costi filtrati in base agli elementi della gerarchia delle risorse e per visualizzare le ascendenze dei progetti.
Esempio 1: filtrare in base al nome della risorsa
Questo esempio mostra query che raggruppano i costi in base all'ascendenza del progetto e filtrano solo i costi generati in un elemento della gerarchia specificato, identificato dal nome della risorsa relativa.
Metodo String
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 in base al nome visualizzato
Questo esempio mostra le query che raggruppano i costi in base all'ascendenza 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
Gli esempi riportati di seguito mostrano alcuni modi per eseguire query sui dati con i tag.
Calcolare 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 |
Visualizzare i costi delle risorse non taggate
Questa query mostra il totale della fattura per le risorse non taggate, 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 sui costi e sui crediti per progetto per un mese di fatturazione specificato
Fornendo un mese di fatturazione specifico di giugno 2020 (nel formato AAAAMM), questa query restituirà una visualizzazione dei costi e dei crediti raggruppati per progetto, nonché le etichette dei progetti.
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 |
Argomenti correlati
Argomenti correlati ai dati di fatturazione Cloud esportati
- Configurare l'esportazione dei dati di fatturazione Cloud in BigQuery
- Query di esempio per l'esportazione dei dati di fatturazione Cloud in BigQuery
- Visualizzare la spesa nel tempo con Looker Studio
Report su costi e prezzi disponibili nella console Google Cloud
- Visualizzare i report di fatturazione Cloud e le tendenze dei costi
- Visualizzare e scaricare i dettagli dei costi di fatture o estratti conto
- Visualizzare e scaricare i prezzi dei servizi cloud di Google
- Informazioni sui risparmi con i report di dettaglio dei costi
- Analizzare l'efficacia degli sconti per impegno di utilizzo
- Visualizzare la cronologia di costi e pagamenti