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

Azure ComputeSku costs字段全为null问题咨询(azure-mgmt-compute 1.41.3)

问题原因及解决方法

核心原因

azure-mgmt-compute 1.41.3版本调用list_skus接口时,默认不会返回costs字段数据。Azure Compute Resource Provider API本身不会主动包含成本信息,必须通过显式指定扩展参数来触发返回该字段。

解决步骤

  1. 修改调用参数:在调用resource_skus.list()方法时,添加expand='costs'参数,示例代码如下:
from azure.mgmt.compute import ComputeManagementClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
compute_client = ComputeManagementClient(credential, "<your-subscription-id>")

# 添加expand参数获取costs数据
skus = compute_client.resource_skus.list(expand='costs')

for sku in skus:
    print(f"SKU: {sku.name}, Costs: {sku.costs}")
  1. 权限验证:确保你的Azure身份凭据(如服务主体、用户账户)拥有Microsoft.Compute/skus/read权限,这是获取SKU及成本数据的基础权限(通常默认已包含在订阅级别的读者角色中)。

补充说明

这种现象不仅存在于virtualMachines、availabilitySets相关SKU,所有Compute SKU类型的costs字段都需要通过expand='costs'参数才能获取,这是Azure API的设计逻辑,而非SDK版本的Bug。

内容的提问来源于stack exchange,提问作者Michael Benguigui

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:00:54