我正在尝试创建一个ARM模板,以通过ARM部署Azure Log Analytics工作区。模板工作正常,但需要了解哪些SKU对目标订阅有效 - 新订阅的PerGB2018或非迁移订阅的旧SKU之一。
此处列出了用于创建工作空间的可用SKU: https://docs.microsoft.com/en-us/rest/api/loganalytics/workspaces/createorupdate
我不知道在部署之前如何识别哪些对于特定订阅有效,并且最终导致错误以及默认I选择无效的部署失败。我不能假设调用模板的人或系统会理解并且可以访问正确的定价SKU集。 PerGB2018不能用于非迁移订阅,因此不能作为我的默认订阅。
在尝试部署之前,任何人都可以共享一种方法来确定哪些SKU可以正常工作,从而避免出现错误吗?我已经检查了Monitor和Billing API,以防它在那里列出但看不到任何内容,并且来自门户页面的网络调用没有提供太多的见解:(
我的首选是避免使用PowerShell,因为部署的其余部分使用BASH来请求部署信息并构建参数文件。
谢谢
答案 0 :(得分:0)
不可避免地,在提出问题后有一个突破 - 下面的BASH脚本使用Azure CLI 2获取AAD访问令牌并将其存储在token
中。接下来,我们获取订阅ID并将其存储在subscriptionId
。
我们拥有子ID和有效的访问令牌后,我们使用curl调用API端点,该端点列出了迁移到新定价模型的日期。
token=$(az account get-access-token | jq ".accessToken" -r)
subscriptionId=$(az account show | jq ".id" -ropt)
optedIn=$(curl -X POST -H "Authorization:Bearer $token" -H "Content-Length:0" https://management.azure.com/subscriptions/$subscriptionId/providers/microsoft.insights/listmigrationdate?api-version=2017-10-01 | jq ".optedInDate" -r)
我的理解是optedIn
的值为“null”表示它是传统的定价SKU。
如果您不同意或有更好的答案,请大声喊叫!