当调用API管理API时,为逻辑应用程序创建触发器的方法



我有一个azure api管理API时应执行一些逻辑,基于它将根据逻辑执行2个新API或3个新API,并从逻辑应用程序返回结果。我假设逻辑应用应该能够做到这一点。我需要一种方法或至少需要一些建议,我可以如何继续

我不确定如何在调用API时触发逻辑应用

将逻辑应用程序与Azure API Management(APIM(集成,在逻辑应用中创建HTTP端点。接下来,为逻辑应用程序生成一个SAS令牌。这将用于保护端点。阅读有关IP进一步限制的文档。

要触发逻辑应用程序,请在APIM中设置API定义的后端URL,或者如果撰写多个后端呼叫,请使用自定义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呼叫链中的任何时刻发生了超时或失败,则将创造出一种很难验证程序正确性的情况。

最新更新