Questa pagina mostra come utilizzare l'API Cloud Billing Catalog per:
- Recupera un elenco di tutti i servizi pubblici, inclusi i metadati pertinenti di ciascun servizio.
- Ottieni un elenco di tutti gli SKU pubblici all'interno di un servizio, tra cui:
- Descrizione leggibile dello SKU.
- Prezzo pubblico dello SKU.
- Aree geografiche in cui lo SKU è disponibile per l'acquisto.
- Dati di classificazione dello SKU.
Se hai prezzi contrattuali personalizzati, puoi utilizzare l'API Pricing per ottenere i prezzi applicabili al tuo account di fatturazione Cloud.
Prima di iniziare
Prima di poter utilizzare l'API Cloud Billing Catalog, devi abilitare l'API Cloud Billing e ottenere una chiave API.
Enable the Cloud Billing API.
Quando ti viene chiesto di confermare il progetto Google Cloud che intendi utilizzare per l'API Cloud Billing Catalog, ti consigliamo di utilizzare un progetto configurato per contenere tutte le tue esigenze di amministrazione di FinOps e della fatturazione per un account di fatturazione Cloud, incluso il punto in cui è abilitata l'API Cloud Billing.
Scopri di più sui vantaggi dell'utilizzo di un progetto incentrato su FinOps per i tuoi casi d'uso di amministrazione della fatturazione.
Ottieni una chiave API
La chiamata all'API Billing Catalog richiede una chiave API. Puoi trovare i dettagli sulle chiavi API in Utilizzo delle chiavi API.
Ottenere un elenco dei servizi pubblici dal catalogo
In questo passaggio si illustra come ottenere un elenco di tutti i servizi pubblici e dei metadati pertinenti di ciascun servizio.
Il seguente snippet di codice elenca tutti i servizi pubblici nel catalogo.
Richiesta:
GET https://cloudbilling.googleapis.com/v1/services?key=<var>API_KEY</var>
Risposta:
{
"services": [
{
"name": "[SERVICE_NAME]",
"serviceId": "[SERVICE_ID]",
"displayName": "[DISPLAY_NAME]",
},
[...]
],
"nextPageToken": "[NEXT_PAGE_TOKEN]"
}
Dove:
[SERVICE_NAME]
è il nome della risorsa relativa al servizio.[SERVICE_ID]
è l'identificatore relativo al servizio.[DISPLAY_NAME]
è il nome leggibile visualizzato relativo al servizio.
I risultati sono paginati e limitati a 5000 SKU per pagina. La risposta
include un nextPageToken
che puoi utilizzare per ottenere i successivi 5000 risultati.
Per recuperare il batch successivo, imposta pageToken=[NEXT_PAGE_TOKEN]
.
Per ridurre il numero di SKU per pagina, imposta
pageSize=[CUSTOM_PAGE_SIZE]
.
Quando tutti gli elementi sono stati elencati, non viene restituito alcun token.
Ottenere l'elenco degli SKU di un servizio
Il seguente snippet di codice elenca gli SKU del catalogo per il servizio pubblico specificato:
Richiesta:
GET https://cloudbilling.googleapis.com/v1/services/SERVICE_ID/skus?key=<var>API_KEY</var>
Dove:
SERVICE_ID
è l'identificatore del servizio principale.
Risposta:
{
"skus": [
{
"name": "[SKU_NAME]",
"skuId": "[SKU_ID]",
"description": "[SKU_DESCRIPTION]",
"category": {
"serviceDisplayName": "[SVC_DISPLAY_NAME]",
"resourceFamily": "[FAMILY]",
"resourceGroup": "[GROUP]",
"usageType": "[USAGE]",
},
"serviceRegions": [
"[REGION]"
],
"pricingInfo": [
{
"effectiveTime": "[TIME]",
"summary": "[SUMMARY]",
"pricingExpression": {
"usageUnit": "[USAGE_UNIT]",
"usageUnitDescription": "[USAGE_UNIT_DESCRIPTION]",
"baseUnit": "[BASE_UNIT]",
"baseUnitDescription": "[BASE_UNIT_DESCRIPTION]",
"baseUnitConversionFactor": [BASE_CONVERSION_FACTOR],
"displayQuantity": [DISPLAY_QUANTITY],
"tieredRates": [
{
"startUsageAmount": [START_AMOUNT],
"unitPrice": {
"currencyCode": "[CURRENCY_CODE]",
"units": [UNITS],
"nanos": [NANOS],
},
}
],
},
"aggregationInfo": {
"aggregationLevel": enum("[AGGREGATION_LEVEL]"),
"aggregationInterval": enum("[AGGREGATION_INTERVAL]"),
"aggregationCount": [AGGREGATION_COUNT],
},
"currencyConversionRate": [CONVERSION_RATE],
}
],
"serviceProviderName": "[SERVICE_PROVIDER]",
"geoTaxonomy": {
"type": "[TAXONOMY_TYPE]",
"regions": [
"[REGION]"
]
}
}
],
"nextPageToken": "[NEXT_PAGE_TOKEN]"
}
Dove:
[SKU_NAME]
è il nome della risorsa per lo SKU nel formatoservices/{SERVICE_ID}/skus/{SKU_ID}
.[SKU_ID]
è l'identificatore univoco dello SKU.[SKU_DESCRIPTION]
è una descrizione leggibile dello SKU.[SVC_DISPLAY_NAME]
è il nome visualizzato del servizio a cui appartiene lo SKU.[FAMILY]
è il tipo di prodotto a cui si riferisce lo SKU. Ad esempio, "Compute", "Storage", "Network" e così via.[GROUP]
è una classificazione di gruppo per SKU correlati. Ad esempio, "RAM", "GPU", "Previsione" e così via.[USAGE]
indica come viene consumato lo SKU. Ad esempio, "OnDemand", "Preemptible", "Commit1Mo", "Commit1Yr" e così via.[REGION]
è l'elenco delle regioni di servizio in cui viene offerto lo SKU. Ad esempio, "asia-east1".[TIME]
è un timestamp che rappresenta l'ora a partire dalla quale questo prezzo è effettivo nel formato2014-10-02T15:01:23.045123456Z
.[SUMMARY]
è un riepilogo leggibile delle informazioni sui prezzi.[USAGE_UNIT]
è l'abbreviazione dell'unità di utilizzo in cui viene specificato il prezzo. Ad esempio,usageUnit
di "GiBy" indica che l'utilizzo è specificato in "Gibibyte".[USAGE_UNIT_DESCRIPTION]
è l'unità di utilizzo in formato leggibile, ad esempio "Gibibyte".[BASE_UNIT]
è l'unità base dello SKU ed è l'unità utilizzata nelle esportazioni dell'utilizzo. Ad esempio,baseUnit
di "By" indica che l'utilizzo è specificato in "Byte".[BASE_UNIT_DESCRIPTION]
è l'unità base in formato leggibile. Ad esempio, "byte".[BASE_CONVERSION_FACTOR]
è il fattore di conversione per convertire il prezzo per usage_unit in prezzo per base_unit e convertire l'importo start_usage in start_usage_amount in base_unit. Ad esempio, start_usage_amount * base_unit_conversion_factor = start_usage_amount in base_unit.[DISPLAY_QUANTITY]
è la quantità consigliata di unità per la visualizzazione delle informazioni sui prezzi. Quando visualizzi le informazioni sui prezzi, ti consigliamo di mostrare:(unitPrice * displayQuantity) per displayQuantity usageUnit
. Questo campo non influisce sulla formula di determinazione del prezzo e serve solo a scopo di visualizzazione. Ad esempio, seunitPrice
è "0,0001 USD",usageUnit
è "GB" edisplayQuantity
è "1000", il modo consigliato per visualizzare le informazioni sui prezzi è "0,10 USD per 1000 GB".- L'utilizzo di
[START_AMOUNT]
viene tariffato alla tariffa solo dopo che questo importo è stato consumato. Ad esempio, un valorestartUsageAmount
pari a 10 indica che l'utilizzo sarà valutato al prezzo definito di seguito dopo i primi 10usage_units
. [CURRENCY_CODE]
è il codice di tre lettere della valuta nel formato ISO 4217.[UNITS]
è l'intera unità dell'importo. Ad esempio, se currencyCode è "USD", 1 unità corrisponde a un dollaro statunitense.[NANOS]
è il numero di nano (10^-9) unità della quantità. Il valore deve essere compreso tra -999.999.999 e +999.999.999 inclusi. Se le unità sono positive, i nanosecondi devono essere positivi o pari a zero. Se units è zero, nanos può essere positivo, zero o negativo. Se le unità sono negative, i nano devono essere negativi o pari a zero.
Il costo dello SKU è units + nanos
. Ad esempio, un costo di 1,75 $è
rappresentato come units=1
e nanos=750,000,000
.
[AGGREGATION_LEVEL]
è il livello in cui l'utilizzo viene aggregato per calcolare il costo. I valori validi sono ACCOUNT, PROJECT, e AGGREGATION_LEVEL_UNSPECIFIED.[AGGREGATION_INTERVAL]
è l'intervallo in cui l'utilizzo viene aggregato per calcolare il costo. I valori validi sono DAILY, MONTHLY e AGGREGATION_INTERVAL_UNSPECIFIED.[AGGREGATION_COUNT]
è il numero di intervalli da aggregare. Ad esempio, seaggregationLevel
è "DAILY" eaggregationCount
è 14, l'aggregazione verrà eseguita su 14 giorni.[CONVERSION_RATE]
è il tasso di conversione per la conversione di valuta, da USD alla valuta specificata nella richiesta. Se la valuta non è specificata, il valore predefinito è 1.0.[SERVICE_PROVIDER]
identifica il fornitore di servizi. Si tratta di "Google" per i servizi proprietari in Google Cloud Platform.[TAXONOMY_TYPE]
è il tipo di tassonomia geografica per uno SKU:GLOBAL
,REGIONAL
oMULTI_REGIONAL
.[REGION]
è l'elenco delle regioni associate a uno SKU. Questo campo è vuoto per gli SKU globali, poiché sono associati a tutte le Google Cloudregioni.
I risultati sono paginati e limitati a 5000 SKU per pagina. La risposta
include un nextPageToken
che puoi utilizzare per ottenere i successivi 5000 risultati.
Per recuperare il batch successivo, imposta pageToken=[NEXT_PAGE_TOKEN]
.
Per ridurre il numero di SKU per pagina, imposta
pageSize=[CUSTOM_PAGE_SIZE]
.
Quando tutti gli elementi sono stati elencati, non viene restituito alcun token.
Informazioni correlate
Informazioni sui prezzi e sugli SKU sono disponibili anche nella tabella dei prezzi o alla pagina Esportare i prezzi di fatturazione Cloud in BigQuery.