Заменяет ли шаблон ARM существующий ресурс, созданный скриптом? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть consomosDB в моей azure учетной записи, созданной с помощью сценария, я хочу создать шаблон ARM для управления развертыванием ресурсов с помощью шаблона ARM в будущем, как я могу убедиться, что шаблон ARM не воссоздает / не перезаписывает ресурс, поскольку он будет впервые развернут с использованием шаблона ARM?

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

Шаблон ARM не будет воссоздавать / перезаписывать существующий ресурс, если ресурс указан в шаблоне. Он обновит ресурс, если значения свойств для ресурса будут изменены. См. Ниже выдержку из официального документа .

Resource Manager пытается создать все ресурсы, указанные в шаблоне. Если ресурс уже существует в группе ресурсов и его настройки не изменились, для этого ресурса не выполняется никаких операций. Если вы измените значения свойств для ресурса, ресурс обновится с этими новыми значениями. Если вы попытаетесь обновить расположение или тип существующего ресурса, развертывание завершится ошибкой. Вместо этого разверните новый ресурс с нужным расположением или типом.

В полном режиме Resource Manager удаляет ресурсы, которые существуют в группе ресурсов, но не указаны в шаблоне

Если вы не указываете определенные свойства, диспетчер ресурсов интерпретирует развертывание как перезапись этих значений. Свойства, которые не включены в шаблон, сбрасываются до значений по умолчанию. Укажите все нестандартные значения для ресурса, а не только те, которые вы обновляете.

Поэтому, если вы хотите, чтобы существующий ресурс оставался нетронутым, вы можете экспортировать шаблон ресурса из Azure Portal, чтобы сделать убедитесь, что все свойства указаны и не изменены.

Вы также можете заблокировать ресурс, установить уровень блокировки на CanNotDelete или ReadOnly, чтобы предотвратить удаление или изменение ресурса. См. Документ Блокировка ресурсов для предотвращения неожиданных изменений для получения дополнительной информации.

1 голос
/ 19 июня 2020

Чтобы изменить существующие ресурсы с помощью шаблонов ARM, экспортируйте шаблон для ресурса из портала Azure. Затем загрузите его локально. Затем вы можете изменить его, чтобы обновить настройки ресурсов Cosmos. У шаблонов ARM есть api-версии. Это будет совпадать с базовой версией в PS или CLI, которую вы использовали для создания учетной записи Cosmos. При изменении шаблона ARM вам нужно будет указать версию api, а затем обратиться к этой версии Ссылка на схему Cosmos DB , чтобы убедиться, что свойства соответствуют версии api в развернутом вами шаблоне.

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