Microsoft.Solutions.ArmApiControl UI 요소
ArmApiControl
은 GET 또는 POST를 사용하여 Azure Resource Manager API 작업에서 결과를 가져옵니다. 결과를 사용하여 다른 컨트롤의 동적 콘텐츠를 채울 수 있습니다.
UI 샘플
ArmApiControl
에 대한 UI가 없습니다.
스키마
다음 예제에서는 컨트롤의 스키마를 보여 줍니다.
{
"name": "testApi",
"type": "Microsoft.Solutions.ArmApiControl",
"request": {
"method": "{HTTP-method}",
"path": "{path-for-the-URL}",
"body": {
"key1": "value1",
"key2": "value2"
}
}
}
샘플 출력
컨트롤의 출력은 사용자에게 표시되지 않습니다. 대신 작업의 결과가 다른 컨트롤에서 사용됩니다.
설명
request.method
속성은 HTTP 메서드를 지정합니다. GET 또는 POST만 허용됩니다.request.path
속성은 Azure Resource Manager 엔드포인트에 대한 상대 경로여야 하는 URL을 지정합니다. 고정 경로일 수도 있고 다른 컨트롤의 출력 값을 참조하여 동적으로 생성될 수도 있습니다.예를 들어 Azure Resource Manager는
Microsoft.Network/expressRouteCircuits
리소스 공급자를 호출합니다."path": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}?api-version=2022-01-01"
request.body
속성은 선택 사항입니다. 요청과 함께 전송되는 JSON 본문을 지정하는 데 사용됩니다. 본문은 정적 콘텐츠일 수도 있고 다른 컨트롤의 출력 값을 참조하여 동적으로 생성될 수도 있습니다.
예시
다음 예제에서 providersApi
요소는 ArmApiControl
을 사용하고 API를 호출하여 공급자 개체의 배열을 가져옵니다.
providersDropDown
요소의 allowedValues
속성은 배열을 사용하고 공급자 이름을 가져오도록 구성됩니다. 공급자 이름이 드롭다운 목록에 표시됩니다.
output
속성의 providerName
은 드롭다운 목록에서 선택한 공급자 이름을 표시합니다. 출력을 사용하여 값을 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')]"
}
}
}
request.body
속성을 사용하는 ArmApiControl
의 예제는 Microsoft.Common.TextBox 한 줄 예제를 참조하세요. 이 예제에서는 스토리지 계정 이름의 가용성을 확인하고 이름을 사용할 수 없는 경우 메시지를 반환합니다.
다음 단계
- UI 정의 만들기에 관한 개요는 Azure 관리형 애플리케이션의 만들기 환경에 대한 CreateUiDefinition.json을 참조하세요.
- UI 요소의 공용 속성에 대한 설명은 CreateUiDefinition 요소를 참조하세요.
map
,basics
및parse
와 같은 함수에 대한 자세한 내용은 CreateUiDefinition 함수를 참조하세요.