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 providersApi
ArmApiControl
och anropar ett API för att hämta en matris med providerobjekt.
Elementets providersDropDown
allowedValues
egenskap är konfigurerad för att använda matrisen och hämta providernamnen. Providernamnen visas i listrutan.
Egenskapen output
providerName
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
- En introduktion till hur du skapar användargränssnittsdefinitioner finns i CreateUiDefinition.json för azure-hanterade program.
- En beskrivning av vanliga egenskaper i gränssnittselement finns i CreateUiDefinition-element.
- Mer information om funktioner som
map
,basics
ochparse
, finns i Funktionerna CreateUiDefinition.