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 ArmApiControlkullanı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