Улучшение вашего опыта кодирования шаблонов ARM

Опубликовано: 28 Февраля, 2023
Улучшение вашего опыта кодирования шаблонов ARM

Я писал код для ARM и в то время искал расширение для Kubernetes. Во время моих поисков я увидел инструменты Azure Resource Manager (ARM), и когда я начал их использовать, они решили некоторые проблемы, возникающие у меня при кодировании шаблонов ARM. Моя идея состояла в том, чтобы создать простую запись в блоге, но после того, как я сэкономил столько времени, я решил использовать это свободное время для создания полной статьи, чтобы показать читателям TechGenix, как воспользоваться этим расширением.

Установка инструментов Azure Resource Manager

Используя код Visual Studio, щелкните значок «Расширения», расположенный слева. На рынке расширений введите arm и выберите Инструменты Azure Resource Manager (ARM) от Microsoft. Нажмите «Установить».

Использование фрагментов

Я брослю вам вызов… даже если вы работаете с шаблонами ARM каждый день, можете ли вы создать пустой файл JSON и создать рабочий шаблон и файл параметров? Ты можешь сделать это? Если да, то у вас отличные навыки памяти, и, пожалуйста, используйте их для чего-нибудь полезного, например, для счета карт и игр на память?

Используя это расширение, мы можем открыть пустой файл JSON и ввести arm! и выберите из списка. Первый создаст для вас структуру шаблона. Если вы не уверены, посмотрите на правую сторону и на структуру кода, которая будет добавлена в файл.

После выбора первой записи результатом будет файловая структура шаблона, готовая к работе. Не нужно копировать образец файла JSON в статье или в Интернете. Видишь ли, не нужно использовать свой большой мозг, чтобы запомнить каждую строку этого стандартного файла.

Вам может быть интересно, это здорово, но во вселенной ARM у нас есть разные типы файлов, и в зависимости от того, где мы хотим развернуть, может потребоваться другая структура. Не волнуйтесь, каждая запись в этом списке будет генерировать один из файлов, которые могут вам понадобиться. Вот краткая справка:

  • рука! создаст структуру шаблона
  • arm!mg создаст структуру шаблона группы управления
  • arm!s создаст структуру шаблона подписки
  • arm!t создаст структуру шаблона арендатора
  • рука! создаст структуру файла параметров

Работа с параметрами

Мы можем создать еще один файл и использовать тот же процесс, что и в предыдущей версии, для создания файла параметров.

Следующий шаг — начать вводить «» и в списке нажать «новое значение параметра». Примечание. Если меню появится, нажмите Ctrl+Пробел, и отобразится то же самое меню. Нажмите здесь.

Был добавлен новый параметр, и нам нужно присвоить имя, заменив параметр1 и назначив значение, которое будет использоваться в вашем развертывании.

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

Вернемся к файлу template.json: вы заметите, что между строками 3 и 4 есть пробел. В нем есть серая строка, которую можно активировать, нажав «Изменить» и выбрав меню с файлом параметров, который мы назначим этому текущему шаблону.

Мы будем использовать только что созданный файл parameters.json, и результат можно увидеть в пункте 1. Прелесть этой функции в том, что параметры, созданные в файле шаблона, будут иметь значения из файла параметров.

Этот процесс экономит массу времени разработчику, которому не нужно переключаться между файлами для проверки значений. Мы можем увидеть статус одним взглядом.

У нас есть эта лампочка (элемент 3) с возможностью переименовать и просмотреть изменения перед их фиксацией.

Как насчет переменных?

То же самое, что и параметры, вы можете вызвать функцию, набрав «», затем щелкнуть новую переменную и переименовать новую переменную и значение (если статическое) или ввести свои функции для создания динамических значений.

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

Мы также можем проверить ссылку переменных. Мы можем проверить все ссылки, используя сочетание клавиш Shift + Alt + F12, которое вызовет «Найти все ссылки». Второй вариант — щелкнуть правой кнопкой мыши переменную и выбрать «Перейти к ссылкам» (Shift + F12), чтобы получить более интересное представление переменных в документе. Вы можете перейти к коду, щелкнув ссылки с правой стороны.

Создание ресурсов Azure

Еще одна интересная функция содержит весь код для создания определенного ресурса Azure, не выходя из Visual Studio Code.

Это просто: начните печатать arm- (в области ресурсов), и появится список всех доступных ресурсов. Мы выберем Key Vault из списка, как показано на изображении ниже.

Результатом является код для развертывания Key Vault. Приятным моментом является то, что он поставляется с функциями Azure (элемент 2) для назначения местоположения как части исходного кода. Еще одна интересная особенность заключается в том, что у него есть ссылки на этот ресурс. В нашем случае есть секрет Key Vault, ссылающийся на это Key Vault.

Если мы нажмем на ссылку (элемент 1), она перейдет прямо к этой части кода.

После щелчка по ссылке в предыдущем разделе код Visual Studio перемещает нас непосредственно к ссылке. Это сокращает время на возврат и возврат кода, особенно в шаблонах ARM с кучей ресурсов.

Проверка ошибок

Помимо всех улучшений, направленных на уменьшение ошибок и экономию времени при кодировании ваших шаблонов ARM, расширение предоставляет полезную информацию, если некоторые значения отформатированы неправильно. Хороший пример — когда я набрал «может быть», и проверка сообщает мне, что это логическое значение.

Щелкните значок, отображаемый в левом нижнем углу (элемент 1), и отобразится список всех ошибок, классифицированных по имени файла.

Кодирование шаблона руки: это легко

Цель этой статьи — освободить больше вашего времени в процессе написания кода ARM. Личная цель этого ленивого автора состоит в том, чтобы дать вам больше времени проводить в местных кафе вместо того, чтобы ходить вверх и вниз по вашим шаблонам ARM, просматривать файлы параметров и выполнять многие другие утомительные задачи, которые можно сделать намного проще..