Google Cloud の料金に関する情報を取得する

Google Cloud Pricing API は、Google Cloud サービスの料金などの情報を取得するのを支援する一連の API リソースです。

このページでは、一般公開されているサービスや SKU、Google Cloud との契約の一部として Cloud 請求先アカウントでのみ利用可能なサービスや SKU に関する情報を取得するために使用できる API リクエストの例をいくつか紹介します。

Pricing API を使用してサービスのリストや特定の最小管理単位(SKU)の価格を取得できます。SKU により購入可能なリソースが明確に識別されます。たとえば、Nvidia Tesla T4 GPU attached to Spot Preemptible VMs running in Warsaw のような SKU があります。カスタム料金で契約している場合は、Pricing API を使用して Cloud 請求先アカウントに関連付けられたカスタム料金を取得することもできます。

Pricing API で利用可能なリソースの一覧と、リクエストとレスポンスの形式の詳細については、API リファレンスをご覧ください。

始める前に

Enable the Cloud Billing API.

Enable the API

Google Cloud プロジェクトで API が有効になっている。Pricing API は Cloud Billing API の一部です。Pricing API に使用するプロジェクトを確認するよう求められたら、Cloud 請求先アカウントの FinOps と請求管理に必要なすべてのリソースの格納用に設定された Google Cloud プロジェクトを使用することをおすすめします。このプロジェクトには、Cloud Billing API を含む、課金システム固有のすべての API を含めることができます。

請求管理のユースケースで FinOps 重視のプロジェクトを使用するメリットの詳細をご確認ください。

公開サービスと料金に関する情報を取得する

次の例は、Google Cloud サービスと SKU に関して、一般公開された情報を取得するために使用できる API 呼び出しを示しています。

公開サービス、SKU、または料金に関する情報を取得するには、API キーを作成する必要があります。

公開されている Google Cloud サービスの一覧を取得する

次の例では、各サービスのメタデータを含む、すべての公開されている Google Cloud サービスを一覧表示します。

この API 呼び出しを行うために、特定の IAM 権限は必要ありません。

リクエストのデータを使用する前に、次のように置き換えます。

  • API_KEY: Google Cloud API キー
  • PAGE_SIZE(省略可): 返されるサービスの数。デフォルト値は 50 です。
  • PAGE_TOKEN(省略可): 前のレスポンスの nextPageToken から取得したページトークン。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v2beta/services?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
"https://cloudbilling.googleapis.com/v2beta/services?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"

PowerShell

次のコマンドを実行します。

$headers = @{  }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v2beta/services?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content

レスポンスには、サービスの一覧と各サービスに関する情報が含まれます。次の例は、Compute Engine の形式を示しています。

結果はページ分けされており、1 ページあたり 50 個のサービスに制限されています。レスポンスには、結果の次のページを取得するために使用する nextPageToken が含まれています。次のバッチを取得するには、pageToken=PAGE_TOKEN を設定します。ページあたりの SKU 数を減らすには、pageSize=PAGE_SIZE を設定します。すべての項目が表示されると、トークンは返されません。

{
  "services": [
    {
      "name": "services/6F81-5844-456A",
      "serviceId": "6F81-5844-456A",
      "displayName": "Compute Engine",
    },
    ...
  ]
  "nextPageToken": "alphanumeric-page-token"
}

公開されている Google Cloud サービスの SKU のリストを取得する

次の例では、指定したサービスの公開されている SKU を一覧表示します。

この API 呼び出しを行うために、特定の IAM 権限は必要ありません。

リクエストのデータを使用する前に、次のように置き換えます。

  • API_KEY: Google Cloud API キー
  • FILTER: SKU をフィルタするサービス。たとえば、Compute Engine の SKU を一覧表示するには、フィルタ service="services/6F81-5844-456A" を使用します。
  • PAGE_SIZE(省略可): 返される SKU の最大数。デフォルトは 50、最大値は 5000 です。
  • PAGE_TOKEN(省略可): レスポンスの nextPageToken にあるページトークン。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v2beta/skus?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
"https://cloudbilling.googleapis.com/v2beta/skus?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER"

PowerShell

次のコマンドを実行します。

$headers = @{  }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v2beta/skus?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER" | Select-Object -Expand Content
次のレスポンスは、Compute Engine に返された SKU の例を示しています。 結果はページ分けされており、1 ページあたり 50 SKU に制限されます。レスポンスには、結果の次のページを取得するために使用する nextPageToken が含まれています。次のバッチを取得するには、pageToken=PAGE_TOKEN を設定します。ページあたりの SKU 数を変更するには、pageSize=PAGE_SIZE を設定します。すべての項目が表示されると、トークンは返されません。
{
  "skus": [
    {
      "name": "skus/0008-F633-76AA",
      "skuId": "0008-F633-76AA",
      "displayName": "Example L4 GPU attached to Spot Preemptible VMs running in Hong Kong",
      "service": "6F81-5844-456A",
      "productTaxonomy": {
        "taxonomyCategories": [
          {
            "category": "GCP"
          },
          {
            "category": "Compute"
          },
          {
            "category": "GPUs"
          },
          {
            "category": "GPUs Preemptible"
          },
          {
            "category": "L4"
          }
        ]
      },
      "geoTaxonomy": {
        "type": "REGIONAL",
        "regionalMetadata": {
          "region": {
            "region": "asia-east2"
          }
        }
      }
    },
    {
      "name": "skus/000F-0B14-D302",
      "skuId": "000F-0B14-D302",
      "displayName": "Example Sole Tenancy Instance Ram running in Turin",
      "service": "6F81-5844-456A",
      "productTaxonomy": {
        "taxonomyCategories": [
          {
            "category": "GCP"
          },
          {
            "category": "Compute"
          },
          {
            "category": "GCE"
          },
          {
            "category": "VMs On Demand"
          },
          {
            "category": "Memory: Per GB"
          },
          {
            "category": "C3"
          }
        ]
      },
      "geoTaxonomy": {
        "type": "REGIONAL",
        "regionalMetadata": {
          "region": {
            "region": "europe-west12"
          }
        }
      }
    }
  ],
  "nextPageToken": "alphanumeric-nextpageToken"
}

公開されているすべての Google Cloud SKU の料金を取得する

リクエストのデータを使用する前に、次のように置き換えます。

  • SKU_ID: 料金を取得する特定の SKU ID。すべての SKU の料金を取得するには「-」を使用します。
  • API_KEY: Google Cloud API キー
  • PAGE_SIZE(省略可): 返されるサービスの数。デフォルト値は 50 です。
  • PAGE_TOKEN(省略可): 前のレスポンスの nextPageToken から取得したページトークン。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/prices?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
"https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/prices?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"

PowerShell

次のコマンドを実行します。

$headers = @{  }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/prices?key=API_KEY&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content

レスポンスには各 SKU ID の料金情報が含まれます。以下の例は、ページサイズが「2」であるすべての公開 SKU の形式を示しています。

結果はページ分けされ、デフォルトでは 1 ページあたり 50 件の料金が含まれます。レスポンスには、結果の次のページを取得するために使用する nextPageToken が含まれています。次のバッチを取得するには、pageToken=PAGE_TOKEN を設定します。ページあたりの結果の数を減らすには、pageSize=PAGE_SIZE を設定します。すべての項目が表示されると、トークンは返されません。

{
  "prices": [
    {
      "name": "skus/0000-9B70-F099/price",
      "currencyCode": "USD",
      "valueType": "rate",
      "rate": {
        "tiers": [
          {
            "startAmount": {
              "value": "0"
            },
            "listPrice": {
              "currencyCode": "USD",
              "nanos": 690000000
            }
          }
        ],
        "unitInfo": {
          "unit": "h",
          "unitDescription": "hour",
          "unitQuantity": {
            "value": "1"
          }
        },
        "aggregationInfo": {
          "level": "LEVEL_ACCOUNT",
          "interval": "INTERVAL_MONTHLY"
        }
      }
    },
    {
      "name": "skus/0002-17F9-0731/price",
      "currencyCode": "USD",
      "valueType": "rate",
      "rate": {
        "tiers": [
          {
            "startAmount": {
              "value": "0"
            },
            "listPrice": {
              "currencyCode": "USD"
            }
          },
          {
            "startAmount": {
              "value": "1"
            },
            "listPrice": {
              "currencyCode": "USD",
              "nanos": 390000000
            }
          },
          {
            "startAmount": {
              "value": "1024"
            },
            "listPrice": {
              "currencyCode": "USD",
              "nanos": 340000000
            }
          }
        ],
        "unitInfo": {
          "unit": "GiBy.mo",
          "unitDescription": "gibibyte month",
          "unitQuantity": {
            "value": "1"
          }
        },
        "aggregationInfo": {
          "level": "LEVEL_ACCOUNT",
          "interval": "INTERVAL_MONTHLY"
        }
      }
    }
  ],
  "nextPageToken": "1234alphanumericCode"
}

公開されている SKU の料金を取得する

次の例では、一般公開されている SKU の価格を取得します。SKU ページで Google Cloud SKU ID の全リストを取得できます。

この API 呼び出しを行うために、特定の IAM 権限は必要ありません。

リクエストのデータを使用する前に、次のように置き換えます。

  • API_KEY: Google Cloud API キー
  • SKU_ID: SKU 識別子。skus.list メソッドを使用して取得できます。ID は skus/ 識別子の後の文字列です。
  • CURRENCY:(省略可)料金の ISO-4217 通貨コード。指定しない場合、Cloud 請求先アカウントと同じ通貨が使用されます。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/price?key=API_KEY¤cyCode=CURRENCY

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
"https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/price?key=API_KEY¤cyCode=CURRENCY"

PowerShell

次のコマンドを実行します。

$headers = @{  }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/skus/SKU_ID/price?key=API_KEY¤cyCode=CURRENCY" | Select-Object -Expand Content
次の例は、SKU ID 0012-B7F2-DD14 の料金の詳細を示しています。
{
  "name": "skus/0012-B7F2-DD14/price",
  "currencyCode": "USD",
  "valueType": "rate",
  "rate": {
    "tiers": [
      {
        "startAmount": {
          "value": "0"
        },
        "listPrice": {
          "currencyCode": "USD",
          "nanos": 1397000
        }
      }
    ],
    "unitInfo": {
      "unit": "GiBy.h",
      "unitDescription": "gibibyte hour",
      "unitQuantity": {
        "value": "1"
      }
    },
    "aggregationInfo": {
      "level": "ACCOUNT",
      "interval": "MONTHLY"
    }
  }
}

Cloud 請求先アカウントに固有の情報を取得する

次の例は、特定の SKU や、カスタム料金契約の一部である可能性のある価格情報など、Cloud 請求先アカウントに固有の情報を取得する API 呼び出しを示しています。

使用している API リソースに応じて、Cloud 請求先アカウントに対する以下の権限が付与されている必要があります。

  • billingAccounts.services を使用してサービスに関する情報を取得するには、次の権限が必要です。

    • billing.billingAccountServices.get
    • billing.billingAccountServices.list
  • billingAccounts.skus を使用して SKU に関する情報を取得するには、次の権限が必要です。

    • billing.billingAccountSkus.get
    • billing.billingAccountSkus.list
  • billingAccounts.skugroups を使用して SKU グループに関する情報を取得するには、次の権限が必要です。

    • billing.billingAccountSkuGroups.get
    • billing.billingAccountSkuGroups.list
  • billingAccounts.skugroups.skus を使用して SKU グループの一部である SKU に関する情報を取得するには、次の権限が必要です。

    • billing.billingAccountSkuGroupSkus.get
    • billing.billingAccountSkuGroupSkus.list
  • billingAccounts.skus.price を使用して SKU の料金に関する情報を取得するには、次の権限が必要です。

    • billing.billingAccountPrice.get

サービス アカウントを使用して API を呼び出す場合は、サービス アカウントに権限が付与されている必要があります。

次の事前定義ロールには、Cloud 請求先アカウントに固有の情報を取得する権限が含まれています。

  • 請求先アカウント管理者
  • 請求先アカウント閲覧者

Cloud 請求先アカウントの SKU グループのリストを取得する

Google Cloud と料金に関する契約を結んでいる場合、契約から特定のカテゴリに分類される SKU を含む SKU グループを参照している場合があります。たとえば、BigQuery SKU グループには、BigQuery 分析とさまざまなロケーションでの保存のための SKU が含まれています。

次の例は、Cloud 請求先アカウントで使用できる SKU グループの一覧です。

この API 呼び出しを行うには、Cloud 請求先アカウントに対する billing.billingAccountSkuGroups.list IAM 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • BILLING_ACCOUNT_ID: Cloud 請求先アカウント ID。
  • PAGE_SIZE(省略可): 返される SKU グループの最大数。デフォルトは 50、最大値は 5000 です。
  • PAGE_TOKEN(省略可): レスポンスの nextPageToken にあるページトークン。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content

レスポンスは、次に示す形式の SKU グループのリストです。

結果はページ分けされており、1 ページあたり 50 SKU グループに制限されます。レスポンスには、結果の次のページを取得するために使用する nextPageToken が含まれています。次のバッチを取得するには、pageToken=PAGE_TOKEN を設定します。ページあたりの SKU 数を減らすには、pageSize=PAGE_SIZE を設定します。すべての項目が表示されると、トークンは返されません。

{
    "billingAccountSkuGroups": [
      {
        "name": "billingAccounts/012345-567890-ABCDEF/skuGroups/001234-group-id-1",
        "displayName": "SKU group name 1"
      },
      {
        "name": "billingAccounts/012345-567890-ABCDEF/skuGroups/0045657-group-id-2",
        "displayName": "SKU group name 2"
      },
      ...
      "nextPageToken": "A1234-alphanumeric-page-token"
}

Cloud 請求先アカウントについて SKU グループ内の SKU のリストを取得する

次の例では、カスタム料金に関する契約に含まれる可能性のある SKU グループの SKU を一覧表示します。

この API 呼び出しを行うには、Cloud 請求先アカウントに対する billing.billingAccountSkuGroupSkus.list IAM 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • SKU_GROUP_ID: SKU グループ ID。billingAccount.skuGroups.list method から取得します。
  • BILLING_ACCOUNT_ID: Cloud 請求先アカウント ID。
  • PAGE_SIZE(省略可): 取得する SKU グループの数。デフォルト値は 5000 です。
  • PAGE_TOKEN(省略可): レスポンスの nextPageToken にあるページトークン。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups/SKU_GROUP_ID/skus?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups/SKU_GROUP_ID/skus?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skuGroups/SKU_GROUP_ID/skus?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content

次の例は、ID が 28934b47-792e-4afa-a025-7720d410482fNetwork Data Transfer SKU グループの最初の 2 つの SKU を示しています。

結果はページ分けされており、1 ページあたり 5,000 SKU グループに制限されます。レスポンスには、結果の次のページを取得するために使用する nextPageToken が含まれています。次のバッチを取得するには、pageToken=PAGE_TOKEN を設定します。ページあたりの SKU 数を減らすには、pageSize=PAGE_SIZE を設定します。すべての項目が表示されると、トークンは返されません。

{
  "billingAccountSkuGroupSkus": [
    {
      "name": "billingAccounts/12345-ABCDE-EXAMPLE/skuGroups/28934b47-792e-4afa-a025-7720d410482f/skus/0009-6F35-3126",
      "skuId": "0009-6F35-3126",
      "displayName": "Network Internet Data Transfer from EMEA to Seoul",
      "service": "9662-B51E-5089",
      "productTaxonomy": {
        "taxonomyCategories": [
          {
            "category": "GCP"
          },
          {
            "category": "Network"
          },
          {
            "category": "Data Transfer"
          },
          {
            "category": "Cloud SQL"
          },
          {
            "category": "Premium"
          }
        ]
      },
      "geoTaxonomy": {
        "type": "REGIONAL",
        "regionalMetadata": {
          "region": {
            "region": "europe-west1"
          }
        }
      }
    },
    {
      "name": "billingAccounts/12345-ABCDE-EXAMPLE/skuGroups/28934b47-792e-4afa-a025-7720d410482f/skus/000B-47CC-2924",
      "skuId": "000B-47CC-2924",
      "displayName": "API Gateway Network Internet Data Transfer Intercontinental from/to Oceania",
      "service": "36A9-155B-23F0",
      "productTaxonomy": {
        "taxonomyCategories": [
          {
            "category": "GCP"
          },
          {
            "category": "Network"
          },
          {
            "category": "Data Transfer"
          },
          {
            "category": "API Gateway"
          },
          {
            "category": "Premium"
          }
        ]
      },
      "geoTaxonomy": {}
    }
  ],
  "nextPageToken": "alphanumeric-nextPageToken"
}

Cloud 請求先アカウントのすべての Google Cloud SKU の料金を取得する

リクエストのデータを使用する前に、次のように置き換えます。

  • SKU_ID: 料金を取得する特定の SKU ID。すべての SKU の料金を取得するには「-」を使用します。
  • API_KEY: Google Cloud API キー
  • PAGE_SIZE(省略可): 返されるサービスの数。デフォルト値は 50 です。
  • PAGE_TOKEN(省略可): 前のレスポンスの nextPageToken から取得したページトークン。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/prices?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/prices?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/prices?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" | Select-Object -Expand Content

レスポンスには SKU ID とその料金のリストが含まれます。含まれるのは、ご利用の Cloud 請求先アカウントで利用可能な SKU のみと、それぞれの SKU の料金情報です。以下の例は、ページサイズが「2」のすべての SKU の形式を示しています。

結果はページ分けされ、デフォルトでは 1 ページあたり 50 件の料金が含まれます。レスポンスには、結果の次のページを取得するために使用する nextPageToken が含まれています。次のバッチを取得するには、pageToken=PAGE_TOKEN を設定します。ページあたりの結果の数を変更するには、pageSize=PAGE_SIZE を設定します。すべての項目が表示されると、トークンは返されません。

{
  "billingAccountPrices": [
    {
      "name": "billingAccounts/01ABCD-EFGH23-UVWXYZ/skus/0000-9B70-F099/price",
      "currencyCode": "USD",
      "valueType": "rate",
      "rate": {
        "tiers": [
          {
            "startAmount": {
              "value": "0"
            },
            "listPrice": {
              "currencyCode": "USD",
              "nanos": 690000000
            },
            "contractPrice": {
              "currencyCode": "USD",
              "nanos": 690000000
            },
            "effectiveDiscountPercent": {
              "value": "0"
            }
          }
        ],
        "unitInfo": {
          "unit": "h",
          "unitDescription": "hour",
          "unitQuantity": {
            "value": "1"
          }
        },
        "aggregationInfo": {
          "level": "LEVEL_ACCOUNT",
          "interval": "INTERVAL_MONTHLY"
        }
      },
      "priceReason": {
        "type": "default-price",
        "defaultPrice": {}
      }
    },
    {
      "name": "billingAccounts/01ABCD-EFGH23-UVWXYZ/skus/0002-17F9-0731/price",
      "currencyCode": "USD",
      "valueType": "rate",
      "rate": {
        "tiers": [
          {
            "startAmount": {
              "value": "0"
            },
            "listPrice": {
              "currencyCode": "USD"
            },
            "contractPrice": {
              "currencyCode": "USD"
            },
            "effectiveDiscountPercent": {
              "value": "0"
            }
          },
          {
            "startAmount": {
              "value": "1"
            },
            "listPrice": {
              "currencyCode": "USD",
              "nanos": 390000000
            },
            "contractPrice": {
              "currencyCode": "USD",
              "nanos": 390000000
            },
            "effectiveDiscountPercent": {
              "value": "0"
            }
          },
          {
            "startAmount": {
              "value": "1024"
            },
            "listPrice": {
              "currencyCode": "USD",
              "nanos": 340000000
            },
            "contractPrice": {
              "currencyCode": "USD",
              "nanos": 340000000
            },
            "effectiveDiscountPercent": {
              "value": "0"
            }
          }
        ],
        "unitInfo": {
          "unit": "GiBy.mo",
          "unitDescription": "gibibyte month",
          "unitQuantity": {
            "value": "1"
          }
        },
        "aggregationInfo": {
          "level": "LEVEL_ACCOUNT",
          "interval": "INTERVAL_MONTHLY"
        }
      },
      "priceReason": {
        "type": "default-price",
        "defaultPrice": {}
      }
    }
  ],
  "nextPageToken": "1234alphanumericCode"
}

Cloud 請求先アカウントの SKU の料金を取得する

次の例では、SKU に支払っている料金を取得します。SKU がカスタム料金に関する契約の一部である場合、レスポンスには正規価格に対する割引の情報が含まれます。

この API 呼び出しを行うには、Cloud 請求先アカウントに対する billing.billingAccountPrice.get IAM 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • SKU_ID: SKU 識別子。billingAccounts.skus メソッドを使用して取得できます。ID は skus/ 識別子の後の文字列です。
  • BILLING_ACCOUNT_ID: Cloud 請求先アカウント ID。
  • CURRENCY:(省略可)料金の ISO-4217 通貨コード。指定しない場合、Cloud 請求先アカウントと同じ通貨が使用されます。

HTTP メソッドと URL:

GET https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/price?currencyCode=CURRENCY

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/price?currencyCode=CURRENCY"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudbilling.googleapis.com/v1beta/billingAccounts/BILLING_ACCOUNT_ID/skus/SKU_ID/price?currencyCode=CURRENCY" | Select-Object -Expand Content
レスポンスには、priceReason オブジェクトに SKU の課金方法の詳細が含まれます。次の例は、SKU ID 0012-B7F2-DD14 の料金の詳細を示しています。この例では、Cloud 請求先アカウントに料金契約がありますが、この SKU の正規価格を支払っています。
{
  "name": "billingAccounts/015978-D9414D-B80267/skus/0012-B7F2-DD14/price",
  "currencyCode": "USD",
  "valueType": "rate",
  "rate": {
    "tiers": [
      {
        "startAmount": {
          "value": "0"
        },
        "listPrice": {
          "currencyCode": "USD",
          "nanos": 1270000
        },
        "contractPrice": {
          "currencyCode": "USD",
          "nanos": 1270000
        }
      }
    ],
    "unitInfo": {
      "unit": "GiBy.h",
      "unitDescription": "gibibyte hour",
      "unitQuantity": {
        "value": "1"
      }
    },
    "aggregationInfo": {
      "level": "ACCOUNT",
      "interval": "MONTHLY"
    }
  },
  "priceReason": {
    "type": "default-price",
    "defaultPrice": {}
  }
}