Microsoft.Solutions.ArmApiControl UI element
ArmApiControl
使用 GET 或 POST 从 Azure 资源管理器 API 操作获取结果。 可以使用结果填充其他控件中的动态内容。
UI 示例
ArmApiControl
没有 UI。
架构
以下示例显示了控件的架构。
{
"name": "testApi",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "{HTTP-method}",
"path": "{path-for-the-URL}",
"body": {
"key1": "value1",
"key2": "value2"
}
}
}
示例输出
控件的输出不会显示给用户。 操作的结果将用于其他控件。
备注
request.method
属性指定 HTTP 方法。 仅允许使用 GET 或 POST。request.path
属性指定一个 URL,该 URL 必须是指向 Azure 资源管理器终结点的相对路径。 它可以是静态路径,也可以通过引用其他控件的输出值来动态构造。例如,Azure 资源管理器对
Microsoft.Network/expressRouteCircuits
资源提供程序的调用。"path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
request.body
属性为可选。 使用它指定与请求一起发送的 JSON 正文。 正文可以是静态内容,也可以通过引用其他控件的输出值来动态构造。
示例
在下面的示例中,providersApi
元素使用 ArmApiControl
并调用一个 API 来获取提供程序对象的数组。
providersDropDown
元素的 allowedValues
属性配置为使用此数组并获取提供程序名称。 提供程序名称显示在下拉列表中。
output
属性 providerName
显示从下拉列表中选择的提供程序名称。 输出可用于将值传递给 Azure 资源管理器模板中的参数。
{
"$schema": "https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#",
"handler": "Microsoft.Azure.CreateUIDef",
"version": "0.1.2-preview",
"parameters": {
"basics": [
{
"name": "providersApi",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "GET",
"path": "[concat(subscription().id, '/providers/Microsoft.Network/expressRouteServiceProviders?api-version=2022-01-01')]"
}
},
{
"name": "providerDropDown",
"type": "Microsoft.Common.DropDown",
"label": "Provider",
"toolTip": "The provider that offers the express route connection.",
"constraints": {
"allowedValues": "[map(basics('providersApi').value, (item) => parse(concat('{\"label\":\"', item.name, '\",\"value\":\"', item.name, '\"}')))]",
"required": true
},
"visible": true
}
],
"steps": [],
"outputs": {
"providerName": "[basics('providerDropDown')]"
}
}
}
有关使用 request.body
属性的 ArmApiControl
的示例,请参阅 Microsoft.Common.TextBox 单行示例。 该示例检查存储帐户名称的可用性,并在名称不可用时返回一条消息。
后续步骤
- 有关创建 UI 定义的简介,请参阅适合 Azure 托管应用程序的创建体验的 CreateUiDefinition.json。
- 有关 UI 元素中的公用属性的说明,请参阅 CreateUiDefinition 元素。
- 若要详细了解函数(如
map
、basics
和parse
),请参阅 CreateUiDefinition 函数。