2017-04-05 141 views
1

我们正在研究一个应用程序,该应用程序允许Azure管理员监视组织中的人员的Azure资源请求。使用Azure Rest API获取Azure订阅的SKU和SKU容量列表

有一个要求,我希望通过某些API(如果有的话)获得所有可能的SKU和SKU容量列表。我本可以对这些值进行硬编码,但考虑到微软为Azure订阅计划带来的变化频率,我想让它更通用,并且Azure本身也支持它。

我无法在Azure Rest API下找到任何API端点,它为我们提供了所需资源类型的SKU和容量列表。

有人想过它吗?如果不是,那么替代和更好的方法是什么?

拉胡尔。

+0

我会推测它在提供程序中不一致(有些可能有这个功能,有些可能没有,实现可能会有所不同),所以要更精确一些。总的来说,我认为没有简单的答案 – 4c74356b41

+0

确切地说,skus在提供者中并不一致。这就是我希望从API获取有效SKU和容量的原因,而不是继续查找它们并手动在本地数据库中更新它们。我希望微软为此做了某种配置。至少,我在他们的API上找不到它 –

+0

有一个这样的API。我记得有一段时间他们在MSDN上有文档时就看到了它。我不是100%确定,但我认为它被称为“特征”。你可以试试这个链接:https://docs.microsoft.com/en-us/rest/api/resources/features? –

回答

1

在Azure的资源管理器在Azure的SKU API的模式是HTTP GET {} RESOURCEID/SKU的?API版本= ...

正如其他人所指出的,似乎没有是发现哪些ARM资源类型已实现SKU API的好方法。如果您今天正在寻找一个通用选项,我会考虑以下方法 -

1)在预订中收集ARM资源ID列表。您可以使用ARM资源API来获取此列表。

2)对于每一个资源ID,请拨打以下检索的SKU:GET {} RESOURCEID/SKU的API版本= ...

3)跟踪哪些ARM资源类型返回非2xx状态码。这些资源类型不会实现SKU API,您的代码今天应该忽略这些资源类型。

下面是API的SKU为两种常见的ARM资源类型的几个例子:

armclient得到/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/virtualMachineScaleSets/{name}/skus?api-version = 2017-03-30

armclient get /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Web/serverFarms/{name}/skus?api-version=2014 -04-01

0

正如4c74356b41提到的一些可能有这个功能,有些则没有。我们可以从官方document获取Azure REST API。我们可以获得一些List SKU REST API,详情请参阅截图。您还可以将您的feedback交给Azure团队。

enter image description here

+0

感谢您的回复Tom,如果Azure提供用于列出SKU的API以及通过模板配置所需的最低限度内容,那将是非常好的,虽然我确信它会采用几个月/年的微软实际执行它。:-) –