我有一个Azure管理API,当被调用时应该执行一些逻辑,并且基于它将根据逻辑执行2个新API或3个新API,并返回逻辑应用程序的结果。我假设逻辑应用程序应该能够做到这一点。我需要一个方法来做这件事,或者至少需要一些建议,我该怎么做呢?
我不知道如何触发一个逻辑应用程序,当一个API被调用时,它应该连接到Logic
发布于 2019-05-23 15:54:23
若要将逻辑应用程序与Azure管理(APIM)集成,请创建一个逻辑应用程序中的HTTP端点。下一个,为Logic生成一个SAS令牌。这将用于保护端点的安全。阅读关于IP进一步限制的文档。
要触发Logic,请在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调用链中的任何一点发生超时或失败,则会造成难以验证程序正确性的情况。
https://stackoverflow.com/questions/56278348
复制相似问题