取得 Google Cloud Platform 計價資訊

本頁面說明如何使用 Cloud Billing Catalog API 進行下列操作:

  • 取得所有公用服務的清單,包括各項服務的相關中繼資料。
  • 取得服務內所有公用 SKU 的清單,包括:
    • 使用者可理解的 SKU 說明。
    • SKU 的公開價格。
    • 可購買 SKU 的區域。
    • SKU 的分類資料。

事前準備

呼叫 Cloud Billing Catalog API 需要 API 金鑰。您可以在使用 API 金鑰中瞭解 API 金鑰的相關詳細資訊。

列出型錄中的公用服務

您可以透過本步驟取得所有公用服務的清單,包括各項服務的相關中繼資料。

API

以下程式碼片段可列出型錄中的所有公用服務:

要求:

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

回應:

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

其中:

  • [SERVICE_NAME] 為服務的資源名稱。
  • [SERVICE_ID] 為服務識別碼。
  • [DISPLAY_NAME] 為使用者可理解的服務顯示名稱。

取得服務的 SKU 清單

API

以下程式碼片段可列出指定服務型錄中的 SKU:

要求:

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

其中:

  • SERVICE_ID 為主要服務的識別碼。

回應:

{
  "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]",
    }
  ]
}

其中:

  • [SKU_NAME] 為 SKU 的資源名稱,格式為 services/{SERVICE_ID}/skus/{SKU_ID}
  • [SKU_ID] 為 SKU 的專屬 ID。
  • [SKU_DESCRIPTION] 為使用者可理解的 SKU 說明。
  • [SVC_DISPLAY_NAME] 為 SKU 所屬服務的顯示名稱。
  • [FAMILY] 為 SKU 所屬產品類型,例如 Compute、Storage、Network 等。
  • [GROUP] 為相關 SKU 的群組分類,例如 RAM、GPU、Prediction 等。
  • [USAGE] 說明 SKU 的消費方式,例如 OnDemand、Preemptible、Commit1Mo、Commit1Yr 等。
  • [REGION] 為提供 SKU 的服務地區清單,例如 asia-east1。
  • [TIME] 為代表價格生效時間點的時間戳記,格式為 2014-10-02T15:01:23.045123456Z
  • [SUMMARY] 為使用者可理解的價格資訊摘要。
  • [UNIT] 為使用量的計價單位簡寫,例如 usageUnit 若為 GiBy,則代表使用量是以 GiB 計價。
  • [UNIT_DESCRIPTION] 為使用者可理解的使用量單位格式,例如 GiB。
  • [DISPLAY_QUANTITY] 為所示價格資訊的建議單位數量。建議您在展示價格資訊時使用:(unitPrice * displayQuantity) per displayQuantity usageUnit。這個欄位僅供展示用途,不會影響計價公式。舉例來說,如果 unitPrice 是 0.0001 美元,usageUnit 為 GB,且 displayQuantity 為 1000,則價格資訊的建議展示方式為「每 1000 GB 0.10 美元」。
  • [START_AMOUNT]:只有在耗用了這個數量的單位後,使用量才開始依費率計價。舉例來說,如果將 startUsageAmount 設為 10,則代表在使用了前 10 個 usage_units 之後,系統才會依照下述價格計價。
  • [CURRENCY_CODE] 為 ISO 4217 所定義的三碼貨幣代碼。
  • [UNITS] 為金額的整數單位。舉例來說,如果 currencyCode 為 USD,則 1 單位為一美元。
  • [NANOS] 為金額的十億分之一 (10^-9) 單位數量。這個值必須介於 -999,999,999 和 +999,999,999 (含) 之間。如果 units 為正值,nanos 必須為正值或零;如果 units 為零,則 nanos 可為正值、零或負值;如果 units 為負值,nanos 就必須為負值或零。例如,-1.75 美元的表記方式為 units=-1nanos=-750,000,000
  • [AGGREGATION_LEVEL] 為使用量加總計算費用的層級。有效值為 ACCOUNT、PROJECT 和 AGGREGATION_LEVEL_UNSPECIFIED。
  • [AGGREGATION_INTERVAL] 為使用量加總計算費用的間隔單位。有效值為 DAILY、MONTHY 和 AGGREGATION_INTERVAL_UNSPECIFIED。
  • [AGGREGATION_COUNT] 為前述加總計費間隔單位的數量。舉例來說,如果 aggregationLevel 為 DAILY,且 aggregationCount 為 14,則系統會每 14 天加總計算一次費用。
  • [CONVERSION_RATE] 為貨幣從美元兌換為要求所指定貨幣的轉換匯率。如未指定貨幣,則預設值為 1.0。
  • [SERVICE_PROVIDER] 為服務供應商。Google Cloud Platform 的第一方服務均為 Google。
本頁內容對您是否有任何幫助?請提供意見: