1

我正在尝试创建一个 ARM 模板以通过 ARM 部署 Azure Log Analytics 工作区。该模板工作正常,除了它需要了解哪些 SKU 对目标订阅有效 - PerGB2018 用于新订阅或旧 SKU 之一用于未迁移订阅。

此处详细介绍了定价模型: https ://docs.microsoft.com/en-gb/azure/monitoring-and-diagnostics/monitoring-usage-and-estimated-costs#new-pricing-model-and-operations-management-套件订阅权利

此处列出了可用于创建工作区的 SKU: https ://docs.microsoft.com/en-us/rest/api/loganalytics/workspaces/createorupdate

我不知道如何在部署之前确定哪些对特定订阅有效,最终会出现错误和部署失败,而我选择的默认设置无效。我不能假设调用模板的人或系统会理解并访问正确的定价 SKU 集。PerGB2018 不能用于非迁移订阅,因此不能作为我的默认值。

任何人都可以分享一种在尝试部署之前确定哪些 SKU 可以工作从而避免错误的方法吗?我已经检查了 Monitor 和 Billing API,以防它在那里列出但看不到任何东西,并且来自门户页面的网络调用没有提供太多洞察力:(

我的偏好是避免使用 PowerShell,因为其余部署使用 BASH 来请求部署信息并构建参数文件。

谢谢你

4

1 回答 1

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)

我的理解是,“null”的值optedIn意味着它是传统定价 SKU。

如果您不同意或有更好的答案,请大声喊叫!

于 2018-05-31T16:46:57.123 回答