You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP技术问询:如何通过Catalog API获取缺失区域的磁盘价格

嗨,刚好之前也帮朋友处理过类似的GCP定价模块开发需求,结合你提到的情况,给你梳理下实操的方向和注意点:

核心方案确认:用GCP Catalog API替代已移除的计算器JSON接口

之前GCP计算器的JSON链接被移除后,Stack Overflow社区推荐的Catalog API确实是当前官方认可的获取定价数据的可靠路径,你已经拼接好包含Compute Engine服务ID和API密钥的URL,这步的方向完全没问题~

覆盖多组件定价的实操建议

要覆盖你提到的所有GCP组件,得针对不同服务分类处理:

  • Compute Engine类:镜像、启动盘、区域、快照这些都属于Compute Engine的资源范畴,调用你当前的API链接后,可以通过过滤返回数据里的resourceFamily和resourceGroup字段,精准定位到这些资源的定价详情
  • 网络类组件:VPC、Ingress、Egress、负载均衡、转发规则这类,部分归属于Compute Engine,部分属于独立的Networking服务。你可能需要额外构造包含Networking服务ID的API请求,或者检查Catalog API是否支持在单个请求中传入多个服务ID来批量获取数据
  • Pub/Sub:这是独立的全托管消息服务,需要单独使用Pub/Sub的服务ID构造API请求,才能获取到消息存储、发布、订阅等不同维度的定价信息
API调用的关键注意事项
  • 务必确保你的API密钥拥有cloudbilling.catalogs.get权限,不然会遇到访问被拒绝的问题
  • 处理API返回的结构化数据时,重点盯紧pricingInfo字段,里面包含了不同区域、计费模式(按需/预留实例)的详细价格规则
  • 建议做个缓存策略,毕竟GCP的定价不会频繁变动,定期缓存API返回的数据,既能减少调用次数,还能提升你模块的响应速度
简单的调用示例(伪代码)

给你写个Python调用的思路参考,方便你快速上手:

import requests

# 替换成你拼接好的Compute Engine Catalog API URL
gcp_catalog_url = "https://cloudbilling.googleapis.com/v1/services/6F81-5844-456A/skus?key=YOUR_API_KEY"
response = requests.get(gcp_catalog_url)
pricing_data = response.json()

# 过滤出启动盘相关的定价SKU
boot_disk_pricing = [sku for sku in pricing_data.get('skus', []) if 'Boot Disk' in sku.get('description', '')]

内容的提问来源于stack exchange,提问作者Harsha Biyani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:58:02