“排队”用于 Powerautomate 流量减少?

发布于 2025-01-14 07:41:29 字数 1048 浏览 2 评论 0原文

我是我所在机构的低资质创建者(即,不是有权访问 Azure VM 执行的系统管理员,使用按所有者许可的非高级帐户),并且正在开发一个简单但复杂的基于 Sharepoint 列表的应用程序,以允许组成员在预定的区块中进行预约。作为对希望继续使用现有仪表板系统的本地办公室团队的认可,我还尝试将他们的 Excel 工作簿(包含 750 行 x 15 列的表格)与我的列表结构(较小但可比较)“同步”使用 PowerAutomate,以便支持人员可以在用户通过应用程序预订时继续在 Excel 中输入、修改和报告。

我知道同步是一项令人沮丧的任务,特别是考虑到我基本上必须遍历整个 Excel 表来评估是否有任何内容需要更新(如果有人有一个好的快捷方式,请告诉我!),但我认为我我们找到了一个方案,通过减少需要实时更新的工作簿数量,基本上可以满足他们的需求。当 sharepoint 检测到文件已被修改时,我可以使用部分“快速同步”作为流程触发,并设置计划的夜间“完全同步”以使所有数据加快速度。通过将查找工作从核心表行循环中取出并使用一些并行执行,我已经将这个“快速同步”流程的运行时间降低到了可管理的 2-3 分钟。

但是,每次修改工作簿文件时运行同步循环似乎会造成破坏。如果人们直接在 Teams 或 Excel 365 中编辑工作簿,那么在该时间窗口内可能会进行多次编辑似乎是合理的,并且在编辑文件时连续循环同步作业可能会导致服务器和客户端出现问题。我可以使用一些消息传递来跳过更改工作簿的列表流提示的那些编辑,但这无法解决“实时编辑”用例。

因此,我对如何使用隐藏的共享点列表来减少此流程所完成的工作量有一些想法。选项 1 是运行计划的守护程序作业,该作业每半小时检查一次,如果看到共享点文件修改触发器设置的标志,则执行一次。选项 2 是设置一种 Buffer 队列结构作为共享点列表,在其中记录作业进入的情况,使用 Delay 组件等待一段时间,然后仅当我们是队列中的最后一个作业时才运行。

我想我可以实现这两个选项中的任何一个,尽管它们绝对是解决问题的一个老办法,所以我可以问一下我是否在重新发明轮子? PowerAutomate 平台或 Sharepoint 文件夹修改连接器中是否有其他方法来减少冗余流触发器,或者是否有更有效的 Excel 侦听器形式可以简化问题?

如果您有任何建议,我将不胜感激!

I am a low-credentialled creator at my institution (i.e. not a sysadmin with access to Azure VM execution, on a per-owner licenced non-premium account) and am developing a simple but intricate Sharepoint list-based app to allow group members to book appointments in predetermined blocks. As a nod to the local office team, who want to keep using their existing dashboard system, I am also trying to "synchronize" their Excel workbook (with a table of 750 rows x 15 columns) with my list structure (smaller but comparable) using PowerAutomate, so that support staff can continue to input, modify and report in Excel while users are booking through the app.

I'm aware synchronization is a frustrating task, especially given that essentially I have to loop through the entire excel table to evaluate if anything needs updating (if anyone has a good shortcut for this, please let me know!), but I think I've found a scheme which gives them basically what they want by reducing how much of the workbook needs to be updated live. I can use a partial "quick sync" as a flow triggering when sharepoint detects the file has been modified, and set up a scheduled overnight "full sync" to bring all the data up to speed. By taking the lookup work out of the core table row loop and using some parallel execution I've gotten the runtime of this "quick sync" flow down to a manageable 2-3 minutes.

However, it seems disruptive to run the sync loop every time the workbook file is modified. If folks are editing workbooks directly in Teams or Excel 365, it seems reasonable that there may be multiple edits within that window of time, and it might cause problems both server and client-side to continuously loop sync jobs while the file is being edited. I could use some message passing to skip those edits prompted by my list flows changing the workbook, but that wouldn't address the "live editing" use case.

So I had a couple of thoughts about how I might reduce the amount of work being done by this flow using a hidden sharepoint list. Option 1 is to run a scheduled daemon job, which checks every half hour and executes once if it sees a flag set by a sharepoint file modified trigger. Option 2 is to set up a kind of Buffer queue structure as a sharepoint list, where we record jobs as they come in, use Delay components to wait some time, and then only run if we're the last job in the queue.

I think I can implement either of these options, though they're definitely a hacky solution to the problem, so can I ask if I'm reinventing the wheel? Are there other ways within the PowerAutomate platform or Sharepoint folder modify connector to reduce redundant flow triggers, or is there a more effective form of Excel listener that might simplify the problem?

I'd be grateful for any tips you might have!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文