Questa pagina mostra come utilizzare l'API Cloud Billing Catalog per:
- Ottieni un elenco di tutti i servizi pubblici, con i relativi metadati pertinenti completamente gestito di Google Cloud.
- Visualizza 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 il API dei prezzi 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 usare un progetto configurato tutte le tue esigenze FinOps e di amministrazione della fatturazione per un l'account di fatturazione Cloud, inclusa l'API Cloud Billing in un bucket in cui è abilitato il controllo delle versioni.
Scopri di più sui vantaggi dell'utilizzo di un progetto incentrato su FinOps per i casi d'uso relativi all'amministrazione della fatturazione.
Ottieni una chiave API
La chiamata all'API Billing Catalog richiede una chiave API. Puoi trovare dettagli sulle chiavi API in Utilizzare le 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 suddivisi in pagine e sono limitati a 5000 SKU per pagina. La risposta
include un valore 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 articoli 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 moduloservices/{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, "Computing", "Archiviazione", "Rete" e così via[GROUP]
è una classificazione di gruppo per SKU correlati. Ad esempio, "RAM", "GPU", "Predizione" e così via.[USAGE]
indica come viene consumato lo SKU. Ad esempio, "OnDemand, "Prerilasciabile, "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 il momento a partire dal quale questi prezzi sono stati applicati nel modulo2014-10-02T15:01:23.045123456Z
.[SUMMARY]
è un riepilogo leggibile delle informazioni sui prezzi.[USAGE_UNIT]
è l'abbreviazione dell'unità di utilizzo in cui è specificato il prezzo. Ad esempio,usageUnit
di "GiBy" indica che l'utilizzo è specificato in "Gibibyte".[USAGE_UNIT_DESCRIPTION]
è l'unità di misura in formato leggibile, ad esempio "Gibibyte".[BASE_UNIT]
è l'unità base dello SKU e l'unità utilizzata nell'utilizzo . Ad esempio,baseUnit
di "Di" significa che l'utilizzo è specificato "Byte".[BASE_UNIT_DESCRIPTION]
è l'unità di 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 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 vengono visualizzate le informazioni sui prezzi, è consigliabile mostrare:(unitPrice * displayQuantity) per displayQuantity usageUnit
. Questo campo non influisce sulla formula del prezzo ed è solo a scopo di visualizzazione. Ad esempio, seunitPrice
è "0,0001 $",usageUnit
è "GB" edisplayQuantity
è "1000", il modo consigliato per visualizzare le informazioni sui prezzi è "0,10 $ per 1000 GB".[START_AMOUNT]
L'utilizzo viene applicato alla tariffa solo dopo che questo importo è consumato. Ad esempio, un valorestartUsageAmount
pari a 10 indica che il prezzo dell'utilizzo sarà quello 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 il valore dell'unità è positivo, i nano devono essere positivi o pari a zero. Se le unità sono zero, i nano possono essere positivi zero o negative. 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 al quale l'utilizzo viene aggregato per calcolare ad accesso meno frequente per ridurre i costi di archiviazione. I valori validi sono ACCOUNT, PROJECT, e AGGREGATION_LEVEL_UNSPECIFIED.[AGGREGATION_INTERVAL]
è l'intervallo con cui l'utilizzo viene aggregato a di calcolo dei costi di computing. I valori validi sono DAILY, MONTH e AGGREGATION_INTERVAL_UNSPECIFIED.[AGGREGATION_COUNT]
è il numero di intervalli da aggregare. Ad esempio, seaggregationLevel
è "GIORNALIERA" eaggregationCount
è 14, l'aggregazione sarà superiore a 14 giorni.[CONVERSION_RATE]
è il tasso di conversione della valuta da $ con la 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 della piattaforma Google Cloud.[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 regioni Google Cloud.
I risultati sono suddivisi in pagine e sono limitati a 5000 SKU per pagina. La risposta include un nextPageToken
che puoi utilizzare per ottenere i 5000 risultati successivi.
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 articoli sono stati elencati, non viene restituito alcun token.
Informazioni correlate
Le informazioni su prezzi e SKU sono disponibili anche nel report sulla tabella dei prezzi o il Esportazione dei prezzi della fatturazione Cloud in BigQuery.