如何使用ARM模板`contentVersion`?

时间:2019-04-22 18:19:15

标签: azure azure-resource-manager arm-template

有关ARM模板的文档没有显示如何使用不同版本(至少可以找到)。我从文档中得到的是,docker pull deepdriveio/deepdrive:env-3.0 env-3.0: Pulling from deepdriveio/deepdrive Digest: sha256:3b6b6514f79a551b47896f908a2de00b55df1db22f5908c8436feaa12310dfa3 Status: Image is up to date for deepdriveio/deepdrive:env-3.0 contentVersion对象中的templateLink值需要与链接模板中的值匹配。

parameterLink

来源:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-linked-templates#external-template-and-external-parameters

有人在GitHub上发布了一个问题,要求提供其他信息,但我仍然不清楚如何使用该版本。 https://github.com/MicrosoftDocs/azure-docs/issues/9402

有人知道如何使用不同的"resources": [ { "type": "Microsoft.Resources/deployments", "apiVersion": "2018-05-01", "name": "linkedTemplate", "properties": { "mode": "Incremental", "templateLink": { "uri":"https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.json", "contentVersion":"1.0.0.0" }, "parametersLink": { "uri":"https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.parameters.json", "contentVersion":"1.0.0.0" } } } ] 值的任何示例吗?

1 个答案:

答案 0 :(得分:1)

我认为您可能会误解contentVersion的用法,该属性仅用于记录模板中的更改,并确保您使用的模板正确,它可以是任何值。

请参阅:https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates#template-format

enter image description here

例如,如果模板contentVersion中的https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.json2.0.0.0

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "2.0.0.0",
    "parameters": {},
    "resources": []
}

但是您可以像下面那样使用"contentVersion":"1.0.0.0"

 "templateLink": {
        "uri":"https://mystorageaccount.blob.core.windows.net/AzureTemplates/newStorageAccount.json",
        "contentVersion":"1.0.0.0"
    }

然后您将得到一个错误。 link中已提及:

  

您不必为模板或参数提供contentVersion属性。如果您不提供内容版本值,则将部署模板的当前版本。如果提供内容版本的值,则它必须与链接模板中的版本匹配;否则,部署将失败并显示错误。

有一天,如果您对目标模板进行了一些更改,则可以将contentVersion更改为3.0.0.0以记录所做的更改,等等。或者您不进行更改。一切都取决于你。