Какой самый простой способ протестировать файл createUIDefinion.json для шаблонов решений Azure?

Я публикую свой шаблон решения на торговой площадке Azure.

Например, мой файл mainTemplate.json легко протестировать без публикации, потому что я могу развернуть его из Git. Но я не могу проверить файл пользовательского интерфейса через развертывание Git.

Итак, проблема заключается в своевременном тестировании моего файла createUIdefinition.json. Кажется, что каждый раз, когда я вносил изменения в файл createUIdefinition.json, мне приходилось загружать новый пакет на портал публикации, что означает, что мне нужно дождаться сертификации Microsoft, прежде чем я смогу провести тест. Это 24-часовой процесс.

Есть ли более простой способ протестировать мои изменения createUIdefinition.json без прохождения этого процесса?

Например, у меня есть ошибка где-то в регулярном выражении, которое проверяет один из моих пользовательских входов:

 {
        "name": "EmailUser",
        "type": "Microsoft.Common.TextBox",
        "label": "Email Address",
        "toolTip": "The email address for your account",
        "defaultValue": "",
        "constraints": {
          "required": true,
          "regex": "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*",
          "validationMessage": "Must be a valid email address."
  }

(Примечание: если кто-то может обнаружить мою ошибку - может быть, при экранировании символов? - дайте мне знать! Ни один адрес электронной почты не проверяется должным образом.)

И это сводит меня с ума от необходимости ждать день, чтобы проверить мои предполагаемые исправления. Должен быть способ получше, спасибо!


person Rocky    schedule 09.04.2016    source источник
comment
Вы нашли решение проблемы с регулярным выражением с ограничениями? У меня похожая проблема.   -  person Mark R    schedule 05.07.2017
comment
Таким образом, регулярное выражение должно быть закодировано json, следовательно, \\. Оказалось, что у меня была еще одна синтаксическая проблема, которая тоже приводила к сбою пользовательского интерфейса. Я не могу точно вспомнить, в чем заключалась эта другая проблема, но использование ссылки предварительного просмотра Azure упростило отслеживание. Я думаю, что это было что-то глупое, вроде того, что параметр неправильно назван в нижней части скрипта пользовательского интерфейса при установке переменных.   -  person Rocky    schedule 05.07.2017
comment
К вашему сведению, в итоге я выбрал это для ограничений на адрес электронной почты: constraints: {required: true, regex: ^ \\ S + @ \\ S + [\\.] [0-9a-z] + $, validationMessage: Must быть действующим адресом электронной почты}   -  person Mark R    schedule 07.07.2017


Ответы (3)


Я нашел свой ответ. Существует специально созданный URL-адрес, который можно использовать для предварительного просмотра createUIDefinition.json. Формат такой:

<a href="https://portal.azure.com/#blade/Microsoft_Azure_Compute/CreateMultiVmWizardBlade/internal_bladeCallId/anything/internal_bladeCallerParams/{"initialData":{},"providerConfig":{"createUiDefinition":"URL_ENCODED_LINK TO_createUiDefinition.json"}}">[Preview createUiDefinition.json]</a>

Итак, шаги для тестирования:

  1. загрузите createUIdefinition.json на общедоступный URL-адрес (github или хранилище BLOB-объектов Azure работают нормально)
  2. Измените приведенную выше ссылку, указав полный URL-адрес вашего файла.
  3. Вставьте его в браузер.
  4. При появлении запроса войдите в Azure, и вы будете перенаправлены на свои лезвия пользовательского интерфейса.
  5. Используйте F12, чтобы вызвать консоль скрипта в браузере, чтобы увидеть вывод в формате json после заполнения значений пользовательского интерфейса.

Обратите внимание, что вы не можете выполнить полное развертывание здесь, эти шаги предназначены только для тестирования вашего пользовательского интерфейса, проверки вашего регулярного выражения и т. Д. Вам все равно нужно протестировать вывод и убедиться, что он работает с вашим файлом mainTemplate.json с отдельным развертыванием.

person Rocky    schedule 18.04.2016

На портале Azure теперь есть более интуитивно понятный способ тестирования. Перейдите на страницу aka.ms/createuidef/sandbox, вставьте свой createUiDefinition.json , и щелкните предварительный просмотр, чтобы увидеть, как это выглядит. Таким образом, вы можете вносить изменения и просматривать их в режиме реального времени без повторной публикации.

person Quinn McHugh    schedule 03.04.2020

Я нашел самый простой способ протестировать createUiDefinition.json для шаблона решения Azure.

  1. Перейдите на страницу http://old.armviz.io/#/.
  2. Нажмите Редактор пользовательского интерфейса портала.
  3. Вставьте свой контент из файла createUiDefinition.json в Редактор пользовательского интерфейса портала.
  4. Нажмите на кнопку «Предварительный просмотр». вы попадете на лазурный портал, чтобы протестировать файл createUiDefinition.json.
person Mahesh Phate    schedule 26.02.2019
comment
Не используйте этот метод. Он старый и имеет проблемы с совместимостью. Песочница намного лучше. - person RobG; 19.11.2020