Microsoft.Solutions.ArmApiControl UI element
ArmApiControl
obtient les résultats d’une opération d’API Azure Resource Manager à l’aide de GET ou POST. Vous pouvez utiliser les résultats pour remplir du contenu dynamique dans d’autres contrôles.
Exemple d’interface utilisateur
Il n’existe pas d’IU pour ArmApiControl
.
schéma
L’exemple suivant montre le schéma du contrôle.
{
"name": "testApi",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "{HTTP-method}",
"path": "{path-for-the-URL}",
"body": {
"key1": "value1",
"key2": "value2"
}
}
}
Exemple de sortie
La sortie du contrôle ne s’affiche pas pour l’utilisateur. À la place, les résultats de l’opération sont utilisés dans d’autres contrôles.
Notes
La propriété
request.method
spécifie la méthode HTTP. Seuls GET ou POST sont autorisés.La propriété
request.path
spécifie une URL qui doit être un chemin relatif vers un point de terminaison Azure Resource Manager. Il peut s’agir d’un chemin d’accès statique ou être construit dynamiquement en faisant référence aux valeurs de sortie des autres contrôles.Par exemple, un appel Azure Resource Manager au fournisseur de ressources
Microsoft.Network/expressRouteCircuits
."path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
La propriété
request.body
est facultative. Utilisez-la pour spécifier un corps JSON envoyé avec la requête. Le corps peut être du contenu statique ou être construit dynamiquement en faisant référence aux valeurs de sortie d’autres contrôles.
Exemple
Dans l’exemple suivant, l’élément providersApi
utilise ArmApiControl
et appelle une API pour obtenir un tableau d’objets fournisseur.
La propriété allowedValues
de l’élément providersDropDown
est configurée pour utiliser le tableau et obtenir les noms des fournisseurs. Les noms des fournisseurs s’affichent dans la liste déroulante.
La propriété providerName
de output
affiche le nom du fournisseur sélectionné dans la liste déroulante. La sortie peut être utilisée pour passer la valeur à un paramètre dans un modèle Azure Resource Manager.
{
"$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')]"
}
}
}
Pour obtenir un exemple de ArmApiControl
qui utilise la propriété request.body
, consultez l’exemple de zone de texte monoligne de Microsoft.Common.TextBox. Cet exemple vérifie la disponibilité d’un nom de compte de stockage, et retourne un message si le nom n’est pas disponible.
Étapes suivantes
- Pour une introduction à la création de définitions d’interface utilisateur, consultez CreateUiDefinition.json pour une expérience de création d’applications managées Azure.
- Pour obtenir une description des propriétés communes des éléments d’interface utilisateur, consultez la page Éléments de CreateUiDefinition.
- Pour en savoir plus sur les fonctions telles que
map
,basics
etparse
, consultez Fonctions CreateUiDefinition.