电源自动化和逻辑应用程序的精妙之处。市民开发人员参考指南#1

祝大家有美好的一天!在之前的一篇文章中,我谈到了Power Automate和Logic Apps云服务具有哪些功能。我们研究了它们之间的主要区别,研究了在什么情况下应该使用一项或另一项服务,并且还了解了一些使用场景。今天,我想开始撰写一系列有关各种生活技巧和变通方法的新文章,这些文章将使您能够使用可用的工具来实现许多业务场景。



让我们不要浪费时间来看看当今的一种情况,即:

通过Power Apps中的按钮启动Logic Apps流


在某些情况下,在各种系统模块的设计和配置过程中,使用Logic Apps比使用Power Automate更具收益。可能有许多原因,但是最受欢迎的原因之一是Logic Apps中存在高级连接器,而无需购买其他计划,例如Power Automate。例如,在流内部,可能需要调用HTTP Web服务并连接到SQL Server,但是在Power Automate中,如果不为用户或流购买特殊计划,则这些连接器将不可用。在这种情况下,Logic Apps将为我们提供帮助,其中使用了稍有不同的收费机制,并且所有连接器(包括高级服务)最初都可用。您可以在本文中阅读有关Logic Apps功能的更多信息

但是,有一个功能-与Power Automate流不同,无法通过表单或Power Apps应用程序中的按钮启动Logic Apps流。如何解决这个问题呢?实际上,解决方案非常简单。将此案例视为申请技术支持过程的一个示例。

因此,在我们的案例中,我们有一个“技术支持应用程序”的SharePoint列表:



此外,该列表使用Power Apps对表单进行了自定义:



如您所见,在表单标题中,有一个到带有所选应用程序的操作按钮的附加屏幕的过渡:



单击“代理申请”,然后填写其他字段:



使用“确认”按钮,有必要启动Logic Apps流,但是我们无法直接执行此操作。因此,我们将尝试做一些不同的事情。

在SharePoint网站上创建其他ActionsList并添加几个字段:

  1. ActionType-要调用的操作类型
  2. 评论-评论
  3. ParentItemID-父元素(应用程序)的标识符
  4. DelegateTo-用于存储委托的附加字段
  5. CompleteProcessFlag-动作处理标志



现在,从PowerApps中,我们通过单击``确认''按钮在ActionsList列表中创建一个元素:



使用Patch函数,在ActionsList列表中创建一个具有``Delegate''类型的新元素,并从表单中转移剩余的控件值。检查是否已创建项目:



现在我们可以转到Logic Apps。我们转到Azure,创建一个新的Logic Apps流,并指定触发器“在SharePoint列表中创建项目时”:



我们使用开关创建该流:



该流的逻辑如下:

在ActionsList列表中创建元素时,流程将上升,检查新元素的“ ActionType”字段的值,然后根据操作的类型,转到处理所需逻辑的开关分支之一。因此,我们可以在一个线程中为切换创建尽可能多的分支,并在同一线程中处理任何事件。仅需要在ActionsList列表中创建具有所需事件类型的元素,并以其他开关分支的形式将对这些类型的支持添加到流中。
让我们通过PowerApps创建另一个事件,例如,取消一个应用程序:



在这种情况下,新事件将出现在ActionsList列表中,类型为“拒绝”,并带有要取消的注释。确保传递父元素的标识符的值,否则以后从流中找到所需的顺序将非常成问题。接下来,在Logic Apps流中添加对新事件类型的支持。我们在开关中再做一个分支:



并在流的末尾添加一个处理标志的更新,以便了解我们的流处理了哪些事件而哪些没有:



该标志将在无法预料的情况下帮助线程处理事件失败。可以创建一个线程,例如,该线程将根据调度和处理ActionsList列表中的事件每天增加两次,该线程的标志“ CompleteProcessFlag”为No。

本文中描述的机制已经成功实现,并且对于多个客户端稳定地工作。总而言之,我想说的是Power Platform中有很多有趣的功能,乍一看可能看不到,但是它们对于实现各种情况很有帮助。在以下文章中,我将尝试向您展示更多可能性。非常感谢您的关注!

All Articles