Как использовать ARM-шаблон `contentVersion`? - PullRequest
0 голосов
/ 22 апреля 2019

Документация по шаблонам ARM не показывает, как использовать разные версии (по крайней мере, я могу найти).Все, что я получаю из документа, это то, что значение contentVersion в объектах templateLink и parameterLink должно соответствовать значению в связанном шаблоне.

"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"
    }
    }
  }
]

Источник: 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

Кто-нибудь знает примеры использования различных значений contentVersion?

1 Ответ

1 голос
/ 23 апреля 2019

Я думаю, вы можете неправильно понять использование 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.json равно 2.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"
    }

, тогда вы получите ошибку.Это было упомянуто в этой ссылке :

Вам не нужно указывать свойство contentVersion для шаблона или параметров.Если вы не укажете значение версии контента, будет развернута текущая версия шаблона.Если вы предоставляете значение для версии содержимого, оно должно соответствовать версии в связанном шаблоне;в противном случае развертывание завершится с ошибкой.

Однажды, если вы внесете некоторые изменения в целевой шаблон, вы можете изменить contentVersion на 3.0.0.0 для документирования изменений и т. д. ИлиВы не меняете это.Все зависит от вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...