Udostępnij za pośrednictwem


Microsoft.Solutions.ArmApiControl, element interfejsu użytkownika

Pobiera ArmApiControl wyniki z operacji interfejsu API usługi Azure Resource Manager przy użyciu metody 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 elementu 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 . Użyj go, aby określić treść JSON, która jest wysyłana z żądaniem. Treść może być zawartością statyczną lub konstruowana 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 jest skonfigurowana do używania allowedValues tablicy i pobierania nazw dostawców. Nazwy dostawców są wyświetlane na liście rozwijanej.

providerName Właściwość output zawiera 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 request.body właściwości znajduje się w przykładzie ArmApiControl jednowierszowym microsoft.Common.TextBox. Ten przykład sprawdza dostępność nazwy konta magazynu i zwraca komunikat, jeśli nazwa jest niedostępna.

Następne kroki

  • Aby zapoznać się z wprowadzeniem do tworzenia definicji interfejsu użytkownika, zobacz CreateUiDefinition.json dla środowiska tworzenia aplikacji zarządzanej platformy Azure.
  • Opis typowych właściwości w elementach interfejsu użytkownika można znaleźć w temacie CreateUiDefinition elements (Tworzenie elementów interfejsu użytkownika).
  • Aby dowiedzieć się więcej o funkcjach, takich jak map, basicsi parse, zobacz CreateUiDefinition functions (Funkcje CreateUiDefinition).