Microsoft.Solutions.ArmApiControl UI öğesi
, ArmApiControl
GET veya POST kullanarak bir Azure Resource Manager API'sinden sonuç alır. Diğer denetimlerdeki dinamik içeriği doldurmak için sonuçları kullanabilirsiniz.
Kullanıcı arabirimi örneği
için ArmApiControl
kullanıcı arabirimi yoktur.
Şema
Aşağıdaki örnekte denetimin şeması gösterilmektedir.
{
"name": "testApi",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "{HTTP-method}",
"path": "{path-for-the-URL}",
"body": {
"key1": "value1",
"key2": "value2"
}
}
}
Örnek çıktı
Denetimin çıkışı kullanıcıya görüntülenmez. Bunun yerine, işlemin sonuçları diğer denetimlerde kullanılır.
Açıklamalar
request.method
özelliği HTTP yöntemini belirtir. Yalnızca GET veya POST'a izin verilir.özelliği,
request.path
Azure Resource Manager uç noktasının göreli yolu olması gereken bir URL'yi belirtir. Statik bir yol olabilir veya diğer denetimlerin çıkış değerlerine başvurarak dinamik olarak oluşturulabilir.Örneğin, kaynak sağlayıcısına
Microsoft.Network/expressRouteCircuits
bir Azure Resource Manager çağrısı."path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
request.body
özelliği isteğe bağlıdır. İstekle birlikte gönderilen bir JSON gövdesi belirtmek için bunu kullanın. Gövde statik içerik olabilir veya diğer denetimlerden çıkış değerlerine başvurarak dinamik olarak oluşturulabilir.
Örnek
Aşağıdaki örnekte öğesi, sağlayıcı nesnelerinin providersApi
bir dizisini almak için ve öğesini kullanır ArmApiControl
ve api'sini çağırır.
öğesinin providersDropDown
allowedValues
özelliği, diziyi kullanacak ve sağlayıcı adlarını alacak şekilde yapılandırılmıştır. Sağlayıcı adları açılan listede görüntülenir.
özelliğiproviderName
, output
açılan listeden seçilen sağlayıcı adını gösterir. Çıkış, değeri bir Azure Resource Manager şablonundaki bir parametreye geçirmek için kullanılabilir.
{
"$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')]"
}
}
}
özelliğini kullanan bir örneği ArmApiControl
için bkz. Microsoft.Common.TextBox tek satırlı request.body
örneği. Bu örnek, depolama hesabı adının kullanılabilirliğini denetler ve ad kullanılamıyorsa bir ileti döndürür.
Sonraki adımlar
- Kullanıcı arabirimi tanımları oluşturmaya giriş için bkz . Azure yönetilen uygulamasının oluşturma deneyimi için CreateUiDefinition.json.
- Kullanıcı arabirimi öğelerindeki ortak özelliklerin açıklaması için bkz . CreateUiDefinition öğeleri.
- , ve gibi
map
işlevler hakkında daha fazla bilgi edinmek için bkz. CreateUiDefinition işlevleri.parse
basics