如何在Azure App Logic中实现Blob存储文件的分页循环遍历
Azure Logic App 遍历Blob存储全量文件分页配置方案
首先澄清认知:你获取到的非常规数字页码的PAGE MARKER并非异常内容,这是Azure Blob存储设计的不透明延续令牌(Continuation Token),由服务端生成的加密字符串用于标记当前分页的末尾位置,无需解析内容,直接作为下一次请求的参数传递即可,无需额外配置计数器。
具体配置步骤
- 步骤1:初始化变量
提前创建2个全局变量:- 字符串类型变量
continuationToken,初始值设为空 - 数组类型变量
allBlobs,初始值设为空数组,用于存储全量拉取到的Blob信息
- 字符串类型变量
- 步骤2:配置Do Until循环
添加Do Until循环控件,循环终止条件设置为:continuationToken等于 空值
循环内部按顺序执行以下3个操作:- 调用Blob列表查询操作(不同版本连接器操作名可能为
List blobs或列出容器中的Blob),分页参数配置:- 内置Azure Blob连接器:在操作的高级设置中找到
延续令牌参数,填入变量continuationToken的值 - 托管Azure Blob连接器:在操作参数中找到
Next page marker,填入变量continuationToken的值
- 内置Azure Blob连接器:在操作的高级设置中找到
- 追加当前页结果:添加
追加到数组变量操作,选择allBlobs变量,值选择当前列表查询操作返回的value数组 - 更新延续令牌:添加
设置变量操作,选择continuationToken变量,值填入当前列表查询操作返回的NextMarker(或nextPageMarker,可从动态内容面板直接选择对应字段)
- 调用Blob列表查询操作(不同版本连接器操作名可能为
- 步骤3:循环后处理
循环自动终止后,allBlobs变量中已存储容器内所有Blob的全量信息,可直接用于后续业务逻辑。
注意事项
单次拉取的最大条数可在列表查询操作的高级设置中调整,官方支持的单次拉取上限为5000条,即默认分页最大粒度。
可在Do Until循环的设置中配置超时规则,避免特殊情况导致的无限循环,例如配置PT1H代表最长运行1小时后自动终止循环。
内容的提问来源于stack exchange,提问作者user3661384
相关产品推荐
相关产品推荐

