Microsoft.Solutions.ArmApiControl, element interfejsu użytkownika

Pobiera ArmApiControl wyniki z operacji interfejsu API usługi Azure Resource Manager przy użyciu polecenia GET lub POST. Możesz użyć wyników, aby wypełnić zawartość dynamiczną w innych kontrolkach.

Przykład interfejsu użytkownika

Nie ma interfejsu użytkownika dla programu ArmApiControl.

Schemat

W poniższym przykładzie przedstawiono schemat kontrolki.

{
  "name": "testApi",
  "type": "Microsoft.Solutions.ArmApiControl",
  "request": {
    "method": "{HTTP-method}",
    "path": "{path-for-the-URL}",
    "body": {
      "key1": "value1",
      "key2": "value2"
    }
  }
}

Przykładowe dane wyjściowe

Dane wyjściowe kontrolki nie są wyświetlane użytkownikowi. Zamiast tego wyniki operacji są używane w innych kontrolkach.

Uwagi

  • Właściwość request.method określa metodę HTTP. Dozwolone są tylko polecenia GET lub POST.

  • Właściwość request.path określa adres URL, który musi być ścieżką względną do punktu końcowego usługi Azure Resource Manager. Może to być ścieżka statyczna lub może być tworzona dynamicznie, odwołując się do wartości wyjściowych innych kontrolek.

    Na przykład wywołanie usługi Azure Resource Manager do dostawcy Microsoft.Network/expressRouteCircuits zasobów.

    "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
    
  • Właściwość jest opcjonalna request.body . Służy do określania treści JSON, która jest wysyłana za pomocą żądania. Treść może być zawartość statyczna lub tworzona dynamicznie, odwołując się do wartości wyjściowych z innych kontrolek.

Przykład

W poniższym przykładzie providersApi element używa elementu ArmApiControl i wywołuje interfejs API, aby uzyskać tablicę obiektów dostawcy.

Właściwość providersDropDown elementu allowedValues jest skonfigurowana do używania tablicy i pobierania nazw dostawców. Nazwy dostawców są wyświetlane na liście rozwijanej.

providerName Właściwość output pokazuje nazwę dostawcy wybraną z listy rozwijanej. Dane wyjściowe mogą służyć do przekazywania wartości do parametru w szablonie usługi 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')]"
    }
  }
}

Przykład użycia ArmApiControlrequest.body właściwości można znaleźć w przykładzie jednowierszowym Microsoft.Common.TextBox . W tym przykładzie sprawdza dostępność nazwy konta magazynu i zwraca komunikat, jeśli nazwa jest niedostępna.

Następne kroki