如何在 Azure Logic 应用程序中调用我自己的类似于 office365 审批连接器的 API 进行审批?
How to make an Approval step in Azure Logic app calling my own APIs similar to office365 approval connector?
我想使用包含 "Approval" 步骤的 Azure 逻辑应用构建一个小型工作流,这只是我自己系统中的 API 调用,类似于 Office 365 批准连接器。
但是,根据我在 Internet 上找到的信息,在 Azure 逻辑应用程序中执行长 运行 任务的唯一方法是使用 Webhooks。
在 Webhooks 中,我无法为我创建的参数设置值 "Bool-Approved".. 那么,我如何稍后在条件步骤中检查它?
另一个可能的解决方案可能是使用 Swagger 来获得一个 "Bool-Approved" 参数。但是不支持长运行动作!
对我来说可能的解决方案是什么?
让你 api return HTTP 代码 200 如果响应 "ok" 和 400 如果响应是 "not ok"。这样你就可以强制逻辑应用按照你需要的方式运行..
正如您提到的,方法是使用 Webhook 操作,为此您需要实施 here 中描述的 Subscribe/Unsubscribe 模式。 Webhook 操作将允许您从您订阅的基于实例的 Webhook 中获取任何负载(通过 HTTP Post)。
以下几点是这篇博客的总结post:
https://www.mexia.com.au/correlation-identifier-pattern-on-logic-apps/
要实施 Subscribe/Unsubscribe Webhook 模式,您需要考虑:
- 订阅存储: 一个数据库,用于存储唯一的消息 ID 和
由 webhook 操作提供的基于实例的回调 URL。
- 订阅并开始请求处理API:这是一个RESTfulAPI负责开始处理请求并存储
订阅。
- 取消订阅并停止请求处理API:这是另一个 RESTful API,只有在 webhook 操作时才会调用主工作流超时。此 API 负责停止处理并从商店中删除订阅。
- 基于实例的 webhook:此 webhook 将由您自己的自定义批准事件触发。一旦触发,您的 webhook 将负责从商店获取基于实例的回调 URL 并调用它。回调主工作流实例后,订阅将被删除。这是负责将您需要的有效负载发送到逻辑应用程序中等待的 webhook 操作的 webhook。
后续操作将能够使用该响应主体,因此您可以实现您的条件等。
您可以按照blog post mentioned above查看详细示例并获得有关如何实现它的更多详细信息。
我想使用包含 "Approval" 步骤的 Azure 逻辑应用构建一个小型工作流,这只是我自己系统中的 API 调用,类似于 Office 365 批准连接器。
但是,根据我在 Internet 上找到的信息,在 Azure 逻辑应用程序中执行长 运行 任务的唯一方法是使用 Webhooks。
在 Webhooks 中,我无法为我创建的参数设置值 "Bool-Approved".. 那么,我如何稍后在条件步骤中检查它?
另一个可能的解决方案可能是使用 Swagger 来获得一个 "Bool-Approved" 参数。但是不支持长运行动作!
对我来说可能的解决方案是什么?
让你 api return HTTP 代码 200 如果响应 "ok" 和 400 如果响应是 "not ok"。这样你就可以强制逻辑应用按照你需要的方式运行..
正如您提到的,方法是使用 Webhook 操作,为此您需要实施 here 中描述的 Subscribe/Unsubscribe 模式。 Webhook 操作将允许您从您订阅的基于实例的 Webhook 中获取任何负载(通过 HTTP Post)。
以下几点是这篇博客的总结post: https://www.mexia.com.au/correlation-identifier-pattern-on-logic-apps/
要实施 Subscribe/Unsubscribe Webhook 模式,您需要考虑:
- 订阅存储: 一个数据库,用于存储唯一的消息 ID 和 由 webhook 操作提供的基于实例的回调 URL。
- 订阅并开始请求处理API:这是一个RESTfulAPI负责开始处理请求并存储 订阅。
- 取消订阅并停止请求处理API:这是另一个 RESTful API,只有在 webhook 操作时才会调用主工作流超时。此 API 负责停止处理并从商店中删除订阅。
- 基于实例的 webhook:此 webhook 将由您自己的自定义批准事件触发。一旦触发,您的 webhook 将负责从商店获取基于实例的回调 URL 并调用它。回调主工作流实例后,订阅将被删除。这是负责将您需要的有效负载发送到逻辑应用程序中等待的 webhook 操作的 webhook。
后续操作将能够使用该响应主体,因此您可以实现您的条件等。
您可以按照blog post mentioned above查看详细示例并获得有关如何实现它的更多详细信息。