Способ создания триггера для логических приложений при вызове API-интерфейса управления API - PullRequest
1 голос
/ 23 мая 2019

У меня есть API управления API Azure, когда он вызывается, должен выполнить некоторую логику и на его основе выполнит либо 2 новых API, либо 3 новых API на основе логики и вернет результат из приложений логики.Я предполагаю, что логические приложения должны быть в состоянии сделать это.Мне нужен способ сделать это, или, по крайней мере, нужно какое-то предложение, как я могу продолжить

Я не уверен, как вызвать приложение логики при вызове API, оно должно подключиться к приложению логики

1 Ответ

2 голосов
/ 23 мая 2019

Чтобы интегрировать приложения логики с Azure API Management (APIM), создайте конечную точку HTTP в приложениях логики .Затем создает токен SAS для приложения логики .Это будет использоваться для защиты конечной точки.Прочитайте документацию по дальнейшему ограничению по IP.

Чтобы запустить приложение логики, задайте внутренний URL-адрес определения API в APIM или, если вы создаете несколько внутренних вызовов, используйте настраиваемую политику XML, которая будет выглядеть примерно так:ниже:

<send-request mode="new" response-variable-name="[resultVariableName]" timeout="20" ignore-error="true">
  <set-url>https://prod-23.centralus.logic.azure.com:443/workflows/0c9def69700c4b2995e2e587123306f7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=ORQeXlFZxBeF7xmF9pO73sgYl_-w0v6V9uugi8bhHeA</set-url>
  <set-method>POST</set-method>
  <set-header name="Content-Type" exists-action="override">
    <value>application/json</value>
  </set-header>
  <set-body>@($"token={(string)context.Variables["someVariable"]}")</set-body>
</send-request>

Пока я даю ответ, я бы практически НЕ рекомендовал это решение.Это анти-шаблон для надежности.Если в какой-то момент в цепочке вызовов HTTP происходит или заканчивается тайм-аут, это создаст ситуацию, в которой будет сложно проверить правильность программы.

...