Dela via


Microsoft.Solutions.ArmApiControl UI-element

Hämtar ArmApiControl resultat från en Azure Resource Manager API-åtgärd med HJÄLP av GET eller POST. Du kan använda resultaten för att fylla i dynamiskt innehåll i andra kontroller.

Exempel på användargränssnitt

Det finns inget användargränssnitt för ArmApiControl.

Schema

I följande exempel visas kontrollens schema.

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

Exempelutdata

Kontrollens utdata visas inte för användaren. I stället används åtgärdens resultat i andra kontroller.

Kommentarer

  • Egenskapen request.method anger HTTP-metoden. Endast GET eller POST är tillåtna.

  • Egenskapen request.path anger en URL som måste vara en relativ sökväg till en Azure Resource Manager-slutpunkt. Det kan vara en statisk sökväg eller kan konstrueras dynamiskt genom att referera till utdatavärden för de andra kontrollerna.

    Till exempel ett Azure Resource Manager-anrop till Microsoft.Network/expressRouteCircuits resursprovidern.

    "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
    
  • Egenskapen request.body är valfri. Använd den för att ange en JSON-brödtext som skickas med begäran. Brödtexten kan vara statiskt innehåll eller konstrueras dynamiskt genom att referera till utdatavärden från andra kontroller.

Exempel

I följande exempel använder -elementet providersApiArmApiControl och anropar ett API för att hämta en matris med providerobjekt.

Elementets providersDropDownallowedValues egenskap är konfigurerad för att använda matrisen och hämta providernamnen. Providernamnen visas i listrutan.

Egenskapen outputproviderName visar providernamnet som valdes från listrutan. Utdata kan användas för att skicka värdet till en parameter i en Azure Resource Manager-mall.

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

Ett exempel på egenskapen ArmApiControl som använder request.body egenskapen finns i exemplet Microsoft.Common.TextBox single-line. Det här exemplet kontrollerar tillgängligheten för ett lagringskontonamn och returnerar ett meddelande om namnet inte är tillgängligt.

Nästa steg