【问题标题】:Json dependsOn ignoredJson 依赖于被忽略
【发布时间】:2018-11-07 18:52:38
【问题描述】:

您好,我有这段代码,它部署了一些虚拟机和一个 vpn 解决方案,但是它在部署 vnet 之前部署了 "vmRdsDeployment"。我已经尝试了几种不同的 dependsOn 变体,但似乎没有任何效果

错误是:

New-AzureRmResourceGroupDeployment : 18:38:57 - Resource Microsoft.Network/loadBalancers 'ilb-m21-m21-m21-vpn-rds' failed with message '{
  "error": {
    "code": "InvalidResourceReference",
    "message": "Resource /subscriptions/0309443f-e9d3-4974-9a9a-08a476b6ae2e/resourceGroups/RG-VPN-TEST/providers/Microsoft.Network/virtualNetworks/VNET-M21-M21-M21-VPN 
referenced by resource /subscriptions/0309443f-e9d3-4974-9a9a-08a476b6ae2e/resourceGroups/rg-vpn-test/providers/Microsoft.Network/loadBalancers/ilb-m21-m21-m21-vpn-rds 
was not found. Please make sure that the referenced resource exists, and that both resources are in the same region.",
    "details": [
      {
        "code": "NotFound",
        "message": "Resource 
/subscriptions/0309443f-e9d3-4974-9a9a-08a476b6ae2e/resourceGroups/RG-VPN-TEST/providers/Microsoft.Network/virtualNetworks/VNET-M21-M21-M21-VPN not found."
      }
    ]

模板:https://pastebin.com/rKRP5htc

【问题讨论】:

  • 嘿,一般来说这就是它所说的。您名为ilb-m21-m21-m21-vpn-rds 的负载均衡器正在尝试使用名为VNET-M21-M21-M21-VPN 的虚拟网络,但它不在同一个资源组中,或者不在同一个区域中。同样,很难更具体,因为所有资源都隐藏在嵌套模板中
  • @4c74356b41 嗨,谢谢,问题是 ilb-.. 不应该创建,因为这应该取决于首先创建的 vnet。有一个名为“vmRdsDeployment”的部分创建了 ilb,它应该依赖于 vnet,因此创建了 vnet,然后创建了 ilb,但是当 vnet 部署没有时,部署似乎由于某种原因开始了完成了
  • 嘿,哪个部署创建了 vnet?如果您说的是真的,那么在第一次失败后,您的模板应该可以在第二次运行(或者至少失败并出现不同的错误,因为 vnet 从第一次部署开始就在那里)
  • @4c74356b41 是的,完全同意,但是看起来 vnet 没有创建。它是一个嵌套模板(在变量部分),vnet 也是使用“vnetTemplate”名称部署的。如果有意义的话
  • 条件可用于阻止资源部署。 true 表示部署,false 表示跳过

标签: json azure powershell arm-template azure-template


【解决方案1】:

在这种情况下,错误似乎是由于 vnet 被限制为不使用 "condition": false 部署,在更改为 true 后一切都按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-07
    • 2017-12-02
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    相关资源
    最近更新 更多