Delen via


Microsoft.Solutions.ArmApiControl UI-element

De ArmApiControl resultaten worden opgehaald van een Azure Resource Manager API-bewerking met BEHULP van GET of POST. U kunt de resultaten gebruiken om dynamische inhoud in andere besturingselementen te vullen.

Ui-voorbeeld

Er is geen gebruikersinterface voor ArmApiControl.

Schema

In het volgende voorbeeld ziet u het schema van het besturingselement.

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

Voorbeelduitvoer

De uitvoer van het besturingselement wordt niet weergegeven voor de gebruiker. In plaats daarvan worden de resultaten van de bewerking gebruikt in andere besturingselementen.

Opmerkingen

  • De request.method eigenschap geeft de HTTP-methode op. Alleen GET of POST zijn toegestaan.

  • De request.path eigenschap geeft een URL op die een relatief pad naar een Azure Resource Manager-eindpunt moet zijn. Het kan een statisch pad zijn of dynamisch worden samengesteld door uitvoerwaarden van de andere besturingselementen te verwijzen.

    Een Azure Resource Manager-aanroep bijvoorbeeld bij de Microsoft.Network/expressRouteCircuits resourceprovider.

    "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
    
  • De request.body eigenschap is optioneel. Gebruik deze om een JSON-hoofdtekst op te geven die met de aanvraag wordt verzonden. De hoofdtekst kan statische inhoud zijn of dynamisch worden samengesteld door te verwijzen naar uitvoerwaarden van andere besturingselementen.

Opmerking

In het volgende voorbeeld gebruikt het providersApi element de ArmApiControl API en roept het een API aan om een matrix met providerobjecten op te halen.

De providersDropDown eigenschap van allowedValues het element is geconfigureerd om de matrix te gebruiken en de providernamen op te halen. De providernamen worden weergegeven in de vervolgkeuzelijst.

De output eigenschap providerName toont de providernaam die is geselecteerd in de vervolgkeuzelijst. De uitvoer kan worden gebruikt om de waarde door te geven aan een parameter in een Azure Resource Manager-sjabloon.

{
  "$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')]"
    }
  }
}

Zie het voorbeeld van Microsoft.Common.TextBox met één regel voor een voorbeeld van de ArmApiControl eigenschap die gebruikmaakt request.body van de eigenschap. In dit voorbeeld wordt de beschikbaarheid van een opslagaccountnaam gecontroleerd en wordt een bericht geretourneerd als de naam niet beschikbaar is.

Volgende stappen