测试Azure解决方案模板的createUIDefinion.json文件的最简单方法是什么?

Roc*_*cky 8 json azure azure-marketplace

我正在Azure市场中发布我的解决方案模板.

例如,我的mainTemplate.json文件很容易测试而不发布,因为我可以从Git部署.但我似乎无法通过Git部署测试UI文件.

所以问题是及时测试我的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."
  }
Run Code Online (Sandbox Code Playgroud)

(旁注,如果有人能发现我的错误 - 可能是在逃避角色? - 请告诉我!没有电子邮件地址可以正确验证.)

它让我有点慌张,不得不等待一天才能测试我所谓的修复.一定有更好的方法,谢谢!

Roc*_*cky 6

我找到了答案.有一个特制的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>
Run Code Online (Sandbox Code Playgroud)

所以测试的步骤是:

  1. 将createUIdefinition.json上传到公共可访问的URL(github或Azure blob存储都工作正常)
  2. 使用文件的完整URL修改上述链接.
  3. 将其粘贴到浏览器中.
  4. 出现提示时登录Azure,您将被重定向到UI刀片.
  5. 使用F12在浏览器中调出脚本控制台,以在填写UI值后查看json格式的输出.

请注意,您无法在此处执行完整部署,这些步骤仅用于测试UI,验证正则表达式等.您仍需要测试输出并确保它与mainTemplate.json文件一起使用,并进行单独部署.


小智 1

Azure 现在有一个沙箱来测试 createUiDefinition 文件。

https://portal.azure.com/?feature.customPortal=false#view/Microsoft_Azure_CreateUIDef/SandboxBlade

只需复制并粘贴 createUiDefinition.json 内容并单击预览,它将生成所有 ui,以便您可以测试您的配置。

您还可以查看一些示例或从那里获取字段定义。

创建 UI 定义沙箱

创建 UI 定义沙箱