Power Automate中如何进行分页处理
对于单次查询数据量比较多的情况下,通常我们会进行分页处理,那么在PowerAutomate中要如何实现呢
默认情况下,Power Automate中Dataverse查询列表记录单次最多5000行,但是如果想查询查过5000行,可以在设置中启用分页,并将阈值设置为100,000,这是所能设置的最大阈值
需要注意的是,100k行时目前所能查询的最大行,因此还需要其他的分页方法
下面以调用Action和执行fetchxml两个示例说明
Action分页
首先如何调用Action实现分页查询,目前在PP上Action的执行时间都受2分钟超时的限制,因此对于数据量多的查询,需要进行分页处理
我们初始化三个变量PageIndex、PageSize、hasmore,分别为页码、每页条数、是否有更多数据
然后使用do until控件,条件设置为当hasmore变量为false时不再循环,在循环里面使用Datavers连接器调用action执行分页查询,
在action中我们设置了传出参数是否存在数据,赋值给hasmore变量,并且对PageIndex进行增量+1处理
FetchXml分页
通过fetchxml分页查询也是,由于使用fetchxml单次查询上限5000条,所以也是需要分页的
这边我们初始化两个变量:pageIndex和pageCookie
使用do until控件,循环直至pageindex不等于1并且pageCookie为空时停止
循环条件:
1 | and(not(equals(variables( 'pageIndex' ), 1)), empty(variables( 'pageCookie' ))) |
pageCookie获取方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | if ( empty(outputs( 'List_rows_' )?[ 'body' ]?[ '@Microsoft.Dynamics.CRM.fetchxmlpagingcookie' ]), '' , replace ( replace ( replace ( decodeUriComponent ( decodeUriComponent ( first(split(last(split(outputs( 'List_rows_' )?[ 'body' ]?[ '@Microsoft.Dynamics.CRM.fetchxmlpagingcookie' ], 'pagingcookie="' )), '" ' )) ) ), '<' , '<' ), '>' , '>' ), '"' , '"' ) ) |
标签:
Power Automate
, PowerPlatform
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~