逻辑应用使用List blobs (V2)接口无法获取分页标记问题咨询
解决方案
问题根因
你当前配置的逻辑应用内置分页功能开启后,平台会在后台自动请求所有后续页,将结果合并后统一返回,直到拉取的文件数量达到你设置的minimumItemCount阈值,因此不会向外暴露Next Page Marker字段,无法用于自定义循环。
手动分页实现步骤
1. 关闭内置自动分页
删除Lists_blobs_(V2)_2操作配置中的runtimeConfiguration分页相关配置段,关闭平台自动分页能力,才能拿到接口返回的分页标记。
修改后的操作核心配置参考:
"Lists_blobs_(V2)_2": { "inputs": { "host": { "connection": { "name": "@parameters('$connections')['azureblob']['connectionId']" } }, "method": "get", "path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('rtwsftp'))}/foldersV2/@{encodeURIComponent(encodeURIComponent('JTJmc2Z0cC1zZXJ2ZXIlMmZ0dWNjJTJm'))}", "queries": { "nextPageMarker": "", "useFlatListing": false } }, "metadata": { "JTJmc2Z0cC1zZXJ2ZXIlMmZ0dWNjJTJm": "/sftp-server/tucc/", "JTJmdHVjYw==": "/tucc" }, "runAfter": {} }
2. 配置循环控制变量
初始化一个字符串类型的变量,命名为BlobNextMarker,初始值设为空。
3. 配置Do Until循环
- 循环终止条件:
BlobNextMarker等于空 - 循环内部第一步:执行
Lists_blobs_(V2)_2操作,将请求参数里的nextPageMarker值设置为变量BlobNextMarker - 循环内部第二步:添加「设置变量」操作,将
BlobNextMarker的值更新为Lists_blobs_(V2)_2输出结果中的nextPageMarker字段值 - 循环内部后续步骤添加你当前页Blob文件的处理逻辑
注意事项
- 当前配置
useFlatListing为false,仅会拉取目标目录下一级的文件和子目录,若需要递归拉取所有子目录内的文件,将该参数值改为true - Blob存储List接口单页最大返回5000条文件,你总计5万文件的场景循环执行10次即可完成全量拉取处理
内容的提问来源于stack exchange,提问作者Rajesh
相关产品推荐
相关产品推荐

