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 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 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 bulunurMicrosoft.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 providersDropDownallowedValues ö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