Google Cloud Pricing API 是一组 API 资源,可帮助您获取 Google Cloud 服务的价格和其他信息。
本页面介绍了一些 API 请求示例,这些请求可用于获取公开列出的服务和 SKU 的相关信息,以及作为与 Google Cloud 签订的合同的一部分仅供您的 Cloud Billing 账号使用的服务和 SKU 的相关信息。
您可以使用 Pricing API 获取服务列表或特定库存单元 (SKU) 的价格。SKU 清晰地标识了您可以购买的资源。SKU 的一个示例是 Nvidia Tesla T4 GPU attached to
Spot Preemptible VMs running in Warsaw
。如果您签订了自定义价格的合同,则还可以使用 Pricing API 获取与您的 Cloud Billing 账号关联的自定义价格。
如需了解 Pricing API 中可用资源的完整列表,并详细了解请求和响应格式,请参阅 API 参考文档。
须知事项
Enable the Cloud Billing API.
获取公共服务和价格信息
以下示例展示了可用于获取有关 Google Cloud 服务和 SKU 的公开列出信息的 API 调用。
如需获取有关公共服务、SKU 或价格的信息,您必须创建 API 密钥。
获取公共 Google Cloud 服务列表
以下示例列出了所有公共 Google Cloud 服务,包括每个服务的元数据。
您无需任何特定 IAM 权限即可进行此 API 调用。
在使用任何请求数据之前,请先进行以下替换:
- API_KEY:您的 Google Cloud API 密钥。
- PAGE_SIZE(可选):要返回的服务数量。默认值为 50。
- PAGE_TOKEN(可选):您从先前响应中的
nextPageToken
获取的页面令牌。
HTTP 方法和网址:
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 的格式。
结果进行了分页,并且每页限制为 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。
您无需任何特定 IAM 权限即可进行此 API 调用。
在使用任何请求数据之前,请先进行以下替换:
- API_KEY:您的 Google Cloud API 密钥。
- FILTER:用于过滤 SKU 的服务。例如,如需列出 Compute Engine 的 SKU,请使用过滤条件
service="services/6F81-5844-456A"
。 - PAGE_SIZE(可选):要返回的 SKU 数量上限。默认值为 50,最大值为 5000。
- PAGE_TOKEN(可选):响应的
nextPageToken
中的页面令牌。
HTTP 方法和网址:
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
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 方法和网址:
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 的价格信息。以下示例展示了所有公开 SKU 的格式,页面大小为“2”。
结果是分页的,默认情况下每页包含 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 的完整列表。
您无需任何特定 IAM 权限即可进行此 API 调用。
在使用任何请求数据之前,请先进行以下替换:
- API_KEY:您的 Google Cloud API 密钥。
- SKU_ID:SKU 标识符,可以使用
skus.list
方法获取。ID 是skus/
标识符后面的字符串。 - CURRENCY:(可选)价格的 ISO-4217 货币代码。如果未指定,则价格与 Cloud Billing 账号使用的货币相同。
HTTP 方法和网址:
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
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 Billing 账号的信息
以下示例展示了可获取您的 Cloud Billing 账号特有的信息(例如特定 SKU)或可能属于您的自定义价格合同的价格信息的 API 调用。
根据您使用的 API 资源,您必须拥有 Cloud Billing 账号的以下权限:
如需使用
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 Billing 账号的信息:
- Billing Account Administrator
- Billing Account Viewer
获取 Cloud Billing 账号的 SKU 组列表
如果您与 Google Cloud 签订了价格合同,则您的合同可能会引用 SKU 组,其中包含属于特定类别的 SKU。例如,BigQuery SKU 组包含用于各个位置的 BigQuery 分析和存储的 SKU。
以下示例列出了可供您的 Cloud Billing 账号使用的 SKU 组。
要进行此 API 调用,您需要具有 Cloud Billing 账号的 billing.billingAccountSkuGroups.list
IAM 权限。
在使用任何请求数据之前,请先进行以下替换:
- BILLING_ACCOUNT_ID:您的 Cloud Billing 账号 ID。
- PAGE_SIZE(可选):要返回的 SKU 组数量上限。默认值为 50,最大值为 5000。
- PAGE_TOKEN(可选):响应的
nextPageToken
中的页面令牌。
HTTP 方法和网址:
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 组列表,格式如下所示。
结果进行了分页,并且每页限制为 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 Billing 账号的 SKU 组中的 SKU 列表
以下示例列出了可能属于您的自定义价格合同的 SKU 组中的 SKU。
要进行此 API 调用,您需要具有 Cloud Billing 账号的 billing.billingAccountSkuGroupSkus.list
IAM 权限。
在使用任何请求数据之前,请先进行以下替换:
- SKU_GROUP_ID:从
billingAccount.skuGroups.list method
中获取的 SKU 组 ID。 - BILLING_ACCOUNT_ID:您的 Cloud Billing 账号 ID。
- PAGE_SIZE(可选):要获取的 SKU 组数量。默认值为 5000。
- PAGE_TOKEN(可选):响应的
nextPageToken
中的页面令牌。
HTTP 方法和网址:
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
以下示例显示了 Network Data Transfer
SKU 组(ID 为 28934b47-792e-4afa-a025-7720d410482f
)的前 2 个 SKU。
结果进行了分页,并且每页限制为 5000 个 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 Billing 账号的所有 Google Cloud SKU 的价格
在使用任何请求数据之前,请先进行以下替换:
- SKU_ID:要获取价格的特定 SKU ID。如需获取所有 SKU 的价格,请使用 `-`。
- API_KEY:您的 Google Cloud API 密钥。
- PAGE_SIZE(可选):要返回的服务数量。默认值为 50。
- PAGE_TOKEN(可选):您从先前响应中的
nextPageToken
获取的页面令牌。
HTTP 方法和网址:
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 Billing 账号可以使用的 SKU 以及每个 SKU 的价格信息。以下示例显示了所有 SKU 的格式,页面大小为“2”。
结果是分页的,默认情况下每页包含 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 Billing 账号的 SKU 价格
以下示例获取了您为 SKU 支付的价格。如果 SKU 是自定义价格合同的一部分,则响应会包含有关定价折扣的信息。
要进行此 API 调用,您需要具有 Cloud Billing 账号的 billing.billingAccountPrice.get
IAM 权限。
在使用任何请求数据之前,请先进行以下替换:
- SKU_ID:SKU 标识符,可以使用
billingAccounts.skus
方法获取。ID 是skus/
标识符后面的字符串。 - BILLING_ACCOUNT_ID:您的 Cloud Billing 账号 ID。
- CURRENCY:(可选)价格的 ISO-4217 货币代码。如果未指定,则价格与 Cloud Billing 账号使用的货币相同。
HTTP 方法和网址:
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 Billing 账号有价格合同,但要支付此 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": {} } }