在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
我会推测它在提供程序中不一致(有些可能有这个功能,有些可能没有,实现可能会有所不同),所以要更精确一些。总的来说,我认为没有简单的答案 – 4c74356b41
确切地说,skus在提供者中并不一致。这就是我希望从API获取有效SKU和容量的原因,而不是继续查找它们并手动在本地数据库中更新它们。我希望微软为此做了某种配置。至少,我在他们的API上找不到它 –
有一个这样的API。我记得有一段时间他们在MSDN上有文档时就看到了它。我不是100%确定,但我认为它被称为“特征”。你可以试试这个链接:https://docs.microsoft.com/en-us/rest/api/resources/features? –