Azure Logic Apps开发:如何获取SharePoint文件旧版本以对比主版本变更
针对你当前的流,要实现仅主版本变更时同步文件到Blob存储,核心是获取文件的旧版本号并对比主版本,具体补充/修改步骤如下:
1. 添加「获取文件版本历史」操作
在现有步骤(Compose提取当前主版本号之后)新增该操作:
- 选择目标SharePoint站点和文档库
- 文件ID使用触发器输出:
triggerBody()?['{ID}']
2. 添加「筛选数组」操作,获取最新旧版本
- 输入内容选择「获取文件版本历史」返回的版本列表
- 筛选条件设置为:
VersionNumber不等于triggerBody()?['{VersionNumber}'](排除当前版本)
3. 提取旧版本的主版本号
新增「Compose(旧主版本号)」操作,使用表达式提取筛选后最新版本的主版本号:
split(first(body('筛选数组'))?['VersionNumber'],'.')[0]
注意:如果是文件首次创建(无旧版本),
first(body('筛选数组'))会返回空值,需要额外处理
4. 完善条件判断逻辑
修改原条件判断,分两种情况处理:
- 情况1:存在旧版本(
length(body('筛选数组')) > 0)- 条件:
Compose(当前主版本号)不等于Compose(旧主版本号)
- 条件:
- 情况2:无旧版本(文件首次创建)
- 直接判定为主版本变更(因为1.0是第一个主版本)
可以嵌套条件来实现:先判断是否存在旧版本,再分别执行对比逻辑。
5. 执行Blob存储操作
当条件判定为「主版本变更」时,执行存储文件到Azure Blob存储的操作,使用之前步骤获取的文件内容即可。
内容的提问来源于stack exchange,提问作者raman
相关产品推荐
相关产品推荐

