我在用Azure 资源组部署Azure DevOps 中的任务。一些覆盖模板参数包括 SubscriptionID。
-virtualNetworkId /subscriptions/53614803-d327-4397-bf55-8dedcc24be0d/resourceGroups/$(resourceGroup)/providers/Microsoft.Network/virtualNetworks/vnet
是否有使用 SubsciptionID 中使用的Azure 订阅连接 ?
原因:
构建管道中需要知道 subscriptionId。这也解决了uniqueString模板问题,我们需要知道uniqueString,但是powershell没有办法告诉你。
我的部署正在构建为在不同订阅的任何资源组中运行。我正在使用在门户中创建一台虚拟机时生成的 ARM 模板来部署多台虚拟机。其中一个参数嵌入了订阅 ID,如问题所示。由于变量是如何在门户构建的模板内计算的,
[subscription.SubscriptionId] 不起作用:
"variables": {
"vnetId": "[parameters('virtualNetworkId')]",
"subnetRef": "[concat(variables('vnetId'), '/subnets/', parameters('subnetName'))]",
它在运行时最终为:
/subscriptions/$(subscription().subscriptionid)/resourceGroups/Dev1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/default
我不想编辑模板,因为我需要对未来的部署进行一些调整,并且可能会使用门户来制作新模板。这订阅ID需要在构建管道中了解。这也解决了唯一字符串模板问题,我们需要知道唯一字符串, but 电源外壳没有办法告诉你。