Logic App(표준) 워크플로의 콜백 URL을 기반으로 Azure APIM 구성 자동화
내 계획은 특정 Logic App(표준)에 대한 워크플로 목록을 검색한 다음 APIM을 반복적으로 구성하여 백엔드 엔드포인트를 추가하는 것입니다. 쉬운 케이스인 줄 알았는데 그게 아니네요.
listcallbackUrl()의 결과 json은 다음과 같습니다(Microsoft 웹 사이트의 샘플).
{
"value": "https://prod-03.westus.logic.azure.com/workflows/d4690301f3b340de9330256bb2e83974/triggers/requestTrigger/paths/invoke?api-version=2016-06-01&se=2018-04-19T16%3A00%3A00.0000000Z&sp=%2Ftriggers%2FrequestTrigger%2Frun&sv=1.0&sig=JXbHjs3qzLPDyk-IM_VzsN-WL_mNql3v_uWbBbKgtVk",
"method": "POST",
"basePath": "https://prod-03.westus.logic.azure.com/workflows/d4690301f3b340de9330256bb2e83974",
"queries": {
"api-version": "2016-06-01",
"se": "2018-04-19T16:00:00.0000000Z",
"sp": "//*",
"sv": "1.0",
"sig": "JXbHjs3qzLPDyk-IM_VzsN-WL_mNql3v_uWbBbKgtVk"
}
}
요구 사항에 따라 APIM의 set-backend-service 및 rewrite-uri를 채워야 합니다. 위의 json에는 사용자 정의 함수가 필요합니다. 그리고 아아, 지금은 not possible in bicep입니다 :(
추가 조사와 테스트를 거쳐 결국 이것이 내가 생각해 낸 것입니다.
module cbUrl 'module_cburl.bicep' = [for (item, i) in apiOperations: {
name: 'url${i}'
params: {
logicAppId: resourceId(logicAppName)
workflows: item
}
}]
param logicAppId string
param workflows string
var url = listCallbackURL('${logicAppId}/hostruntime/runtime/webhooks/workflow/api/management/workflows/${workflows}/triggers/manual', '2022-03-01')
var apiVersion = url.queries['api-version']
output url object = {
basePath: url.basePath
queries: '?api-version=${uriComponent(apiVersion)}&sv=${uriComponent(url.queries.sv)}&sp=${uriComponent(url.queries.sp)}&sig=${uriComponent(url.queries.sig)}'
}
resource apiPolicies 'Microsoft.ApiManagement/service/apis/operations/policies@2021-08-01' = [for (item, i) in apiOperations: {
name: '${apimSvcRef.name}/${apiName}/${item}/policy'
properties: {
value: '<policies>\r\n <inbound>\r\n <base />\r\n <set-backend-service base-url="${cbUrl[i].outputs.url.basePath}" />\r\n <rewrite-uri template="${cbUrl[i].outputs.url.queries}" />\r\n </inbound>\r\n <backend>\r\n <base />\r\n </backend>\r\n <outbound>\r\n <base />\r\n </outbound>\r\n <on-error>\r\n <base />\r\n </on-error>\r\n</policies>'
format: 'xml'
}
}]
Reference
이 문제에 관하여(Logic App(표준) 워크플로의 콜백 URL을 기반으로 Azure APIM 구성 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/leonards/automating-azure-apim-configuration-based-on-logic-app-standard-workflows-callback-urls-26fe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)