Microsoft.Solutions.ArmApiControl UI element (Elemento da IU microsoft.Solutions.ArmApiControl)

Obtém ArmApiControl resultados de uma operação da API do Azure Resource Manager com GET ou POST. Pode utilizar os resultados para preencher conteúdo dinâmico noutros controlos.

Exemplo de IU

Não existe IU para ArmApiControl.

Esquema

O exemplo seguinte mostra o esquema do controlo.

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

Saída de exemplo

A saída do controlo não é apresentada ao utilizador. Em vez disso, os resultados da operação são utilizados noutros controlos.

Observações

  • A request.method propriedade especifica o método HTTP. Só são permitidos GET ou POST.

  • A request.path propriedade especifica um URL que tem de ser um caminho relativo para um ponto final do Azure Resource Manager. Pode ser um caminho estático ou pode ser construído dinamicamente ao referenciar valores de saída dos outros controlos.

    Por exemplo, uma chamada de Resource Manager do Azure para o Microsoft.Network/expressRouteCircuits fornecedor de recursos.

    "path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
    
  • A request.body propriedade é opcional. Utilize-o para especificar um corpo JSON que é enviado com o pedido. O corpo pode ser conteúdo estático ou construído dinamicamente ao referir-se aos valores de saída de outros controlos.

Exemplo

No exemplo seguinte, o providersApi elemento utiliza e ArmApiControl chama uma API para obter uma matriz de objetos de fornecedor.

A providersDropDown propriedade do allowedValues elemento está configurada para utilizar a matriz e obter os nomes dos fornecedores. Os nomes dos fornecedores são apresentados na lista pendente.

A output propriedade providerName mostra o nome do fornecedor que foi selecionado na lista pendente. O resultado pode ser utilizado para transmitir o valor a um parâmetro num modelo de Resource Manager do Azure.

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

Para obter um exemplo do ArmApiControl que utiliza a request.body propriedade, veja o exemplo de linha única Microsoft.Common.TextBox . Este exemplo verifica a disponibilidade de um nome de conta de armazenamento e devolve uma mensagem se o nome não estiver disponível.

Passos seguintes