如何通过Azure资源图API获取超1000条记录(Logic App场景)
解决Logic App中Azure资源图仅返回1000条记录的问题
Azure资源图默认每页返回1000条数据,要获取全部记录,最佳方式是通过分页遍历+延续令牌实现,在Logic App里的具体操作步骤如下:
- 初始化两个变量:
allRecords:数组类型,用来存储所有查询到的记录continuationToken:字符串类型,初始值为空
- 添加Do Until循环,设置循环终止条件为
continuationToken等于空字符串- 在循环内调用Azure资源图的「查询资源」动作,将
$skipToken参数设置为continuationToken变量的值(第一次调用时为空,会返回第一页数据) - 把本次查询返回的
value数组合并到allRecords变量中 - 更新
continuationToken变量为本次查询返回的skipToken值(没有更多数据时该值为空,循环自动终止)
- 在循环内调用Azure资源图的「查询资源」动作,将
- 循环结束后,
allRecords变量中就存储了所有的资源记录
额外注意事项:
- 如果总记录量极大,要留意Logic App的运行时长限制,必要时可拆分查询(比如按订阅、资源类型分批执行)
- 确保Logic App拥有访问所有目标资源的权限
内容的提问来源于stack exchange,提问作者hello12345678
相关产品推荐
相关产品推荐

