Microsoft.Solutions.ArmApiControl UI 元素
ArmApiControl
會使用 GET 或 POST 從 Azure Resource Manager API 作業取得結果。 您可以使用結果來填入其他控制項中的動態內容。
UI 範例
沒有適用於 ArmApiControl
的使用者介面。
結構描述
下列範例顯示控制項的結構描述。
{
"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 必須是 Azure Resource Manager 端點的相對路徑。 它可以是靜態路徑,也可以藉由參考其他控制項的輸出值來動態建立。例如,Azure Resource Manager 會呼叫
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 Resource Manager 範本中的參數。
{
"$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 函式。