在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? –