Microsoft.Solutions.ArmApiControl – element uživatelského rozhraní

Výsledky ArmApiControl z operace rozhraní API Azure Resource Manageru získáte pomocí metody GET nebo POST. Výsledky můžete použít k naplnění dynamického obsahu v jiných ovládacích prvcích.

Ukázka uživatelského rozhraní

Neexistuje žádné uživatelské rozhraní pro ArmApiControl.

Schéma

Následující příklad ukazuje schéma ovládacího prvku.

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

Ukázkový výstup

Výstup ovládacího prvku se uživateli nezobrazí. Místo toho se výsledky operace používají v jiných ovládacích prvcích.

Poznámky

  • Vlastnost request.method určuje metodu HTTP. Jsou povoleny pouze funkce GET nebo POST.

  • Vlastnost request.path určuje adresu URL, která musí být relativní cestou ke koncovému bodu Azure Resource Manageru. Může to být statická cesta nebo se dá dynamicky vytvořit odkazem na výstupní hodnoty ostatních ovládacích prvků.

    Například volání Azure Resource Manageru do Microsoft.Network/expressRouteCircuits poskytovatele prostředků.

    "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
    
  • Vlastnost request.body je nepovinná. Slouží k zadání textu JSON, který se odešle s požadavkem. Tělo může být statický obsah nebo dynamicky vytvořený odkazem na výstupní hodnoty z jiných ovládacích prvků.

Příklad

V následujícím příkladu providersApi element používá ArmApiControl a volá rozhraní API k získání pole objektů zprostředkovatele.

Vlastnost providersDropDown elementu allowedValues je nakonfigurována tak, aby používala pole a získala názvy zprostředkovatelů. Názvy poskytovatelů se zobrazí v rozevíracím seznamu.

Vlastnost output providerName zobrazuje název zprostředkovatele, který byl vybrán z rozevíracího seznamu. Výstup se dá použít k předání hodnoty parametru v šabloně Azure Resource Manageru.

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

Příklad, ArmApiControl který používá request.body vlastnost, viz Microsoft.Common.TextBox jednořádkový příklad. Tento příklad zkontroluje dostupnost názvu účtu úložiště a vrátí zprávu, pokud název není k dispozici.

Další kroky