Ottieni informazioni sui prezzi di Google Cloud Platform

Questa pagina mostra come utilizzare l'API Cloud Billing Catalog per:

  • Ottenere un elenco di tutti i servizi pubblici e dei metadati pertinenti di ciascun servizio.
  • Ottenere un elenco di tutti gli SKU pubblici di un servizio, compresi:
    • Descrizione leggibile dello SKU.
    • Prezzo pubblico dello SKU.
    • Aree geografiche in cui lo SKU è disponibile per l'acquisto.
    • Dati di classificazione dello SKU.

Prima di iniziare

La chiamata all'API Billing Catalog richiede una chiave API. Puoi trovare informazioni sulle chiavi API consultando l'argomento 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.

API

Il seguente snippet di codice elenca tutti i servizi pubblici nel catalogo:

Richiesta:

GET https://cloudbilling.googleapis.com/v1/services?key=API_KEY

Risposta:

{
  "services": [
    {
      "name": "[SERVICE_NAME]",
      "serviceId": "[SERVICE_ID]",
      "displayName": "[DISPLAY_NAME]",
    },
    [...]
  ]
}

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.

Ottenere l'elenco degli SKU di un servizio

API

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=API_KEY

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": "[UNIT]",
                  "usageUnitDescription": "[UNIT_DESCRIPTION]",
                  "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]",
    }
  ]
}

Dove:

  • [SKU_NAME] è il nome della risorsa per lo SKU nel modulo services/{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", "Prerilasciabile", "Commit1Mo", "Commit1Yr", ecc.
  • [REGION] è l'elenco delle aree geografiche di servizio in cui lo SKU è disponibile. Ad esempio, "asia-east1".
  • [TIME] è una timestamp che rappresenta il momento a partire dal quale i prezzi sono entrati in vigore nel modulo 2014-10-02T15:01:23.045123456Z.
  • [SUMMARY] è un riepilogo leggibile delle informazioni sui prezzi.
  • [UNIT] è la forma abbreviata dell'unità di utilizzo in cui sono specificati i prezzi. Ad esempio, usageUnit di "GiBy" significa che l'utilizzo è specificato in "Gibibyte".
  • [UNIT_DESCRIPTION] è l'unità di utilizzo espressa in formato leggibile, ad esempio "Gibibyte".
  • [DISPLAY_QUANTITY] è la quantità consigliata di unità per la visualizzazione delle informazioni sui prezzi. Quando si visualizzano le informazioni sui prezzi, si consiglia di utilizzare: (unitPrice * displayQuantity) per displayQuantity usageUnit. Questo campo non influisce sulla formula del prezzo e serve solo a scopo di visualizzazione. Ad esempio, se unitPrice è "0,0001 USD", usageUnit è "GB" e displayQuantity è "1000", il metodo consigliato per visualizzare queste informazioni sul prezzo è "0,10 USD per 1000 GB".
  • [START_AMOUNT] La tariffa di utilizzo viene applicata solo dopo che questo importo è stato consumato. Ad esempio, un valore startUsageAmount di 10 indica che verrà applicata la tariffa di utilizzo stabilita solo dopo le primi 10 usage_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", allora 1 unità equivale a 1 dollaro USA.
  • [NANOS] è il numero di nano (10^-9) unità della quantità. Il valore deve essere compreso tra -999.999.999 and +999.999.999 (compreso). Se le unità sono positive, i nano devono essere positivi o pari a zero. Se le unità sono pari a zero, i nano possono essere positivi, zero o negativi. Se le unità sono negative, i nano devono essere negativi o pari a zero. Ad esempio $ -1,75 è rappresentato come units=-1 e nanos=-750,000,000.
  • [AGGREGATION_LEVEL] è il livello al quale l'utilizzo viene aggregato per calcolare il costo. I valori validi sono ACCOUNT, PROJECT, e AGGREGATION_LEVEL_UNSPECIFIED.
  • [AGGREGATION_INTERVAL] è l'intervallo con 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, se aggregationLevel è "DAILY" e aggregationCount è 14, l'aggregazione sarà di 14 giorni.
  • [CONVERSION_RATE] è il tasso di conversione della 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. Il valore è "Google" per i servizi di prime parti su Google Cloud Platform.