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
- Para obter uma introdução à criação de definições de IU, veja CreateUiDefinition.json for Azure managed application's create experience (CriarUiDefinition.json para a experiência de criação da aplicação gerida do Azure).
- Para obter uma descrição das propriedades comuns nos elementos da IU, veja CreateUiDefinition elements (Elementos createUiDefinition).
- Para saber mais sobre funções como
map
,basics
eparse
, veja CreateUiDefinition functions (Funções CreateUiDefinition).