2017-04-05 72 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以及通過模板配置所需的最低限度內容,那將是非常好的,雖然我確信它會採用幾個月/年的微軟實際執行它。:-) –