Microsoft.Solutions.ArmApiControl UI öğesi
, ArmApiControl
GET veya POST kullanarak bir Azure Resource Manager API işleminden sonuçları 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 belirtir. Statik bir yol olabilir veya diğer denetimlerin çıkış değerlerine başvurarak dinamik olarak oluşturulabilir.Örneğin bir Azure Resource Manager kaynak sağlayıcısına çağrıda bulunur
Microsoft.Network/expressRouteCircuits
."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övdesini 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, dizisini kullanacak ve sağlayıcı adlarını alacak şekilde yapılandırılı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 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 request.body
bir örneği ArmApiControl
için bkz. Microsoft.Common.TextBox tek satırlı ö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
- Ui 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.
- ,
basics
veparse
gibimap
işlevler hakkında daha fazla bilgi edinmek için bkz. CreateUiDefinition işlevleri.