如何用Power Automate自动映射SharePoint列表间的图片列
前置确认
- 先确认两个列表的列配置:
Images列表:要有存储图片的位置(附件列或自定义图片列),以及用于匹配的图片名称列(比如Title或自定义的Image Name)Master Catalog列表:要有用于匹配的Report Name文本列,以及用来存放图片的Preview图片类型列(不是附件列)
步骤1:创建触发型云端流
新建一个自动化云端流,触发条件选择「当SharePoint项创建或修改时」:
- 配置站点地址为
Images列表所在的SharePoint站点 - 列表名称选择
Images - 若仅需在新增图片时触发,可调整触发规则为仅监听项创建事件
步骤2:提取上传的图片链接
根据图片存储方式选择对应操作:
- 如果是附件列存储图片:
添加「获取附件内容」动作,配置站点地址、列表名称后,项目ID选择触发项的ID;接着用「获取附件元数据」获取附件的相对路径,拼接站点URL得到完整图片链接 - 如果是自定义图片列:
图片列存储的是JSON格式,添加「解析JSON」动作,输入图片列的动态内容,自动生成schema后,提取serverRelativeUrl字段,拼接站点URL得到完整链接
步骤3:匹配Master Catalog中的对应条目
添加「获取项」动作,配置:
- 站点地址为
Master Catalog所在的SharePoint站点 - 列表名称选择
Master Catalog - 筛选查询:输入
ReportName eq '@{triggerBody()?['Title']}'(把ReportName换成你实际的列内部名,Title换成Images列表的图片名称列内部名) - 顶级计数设为1,确保只返回匹配的单个条目
步骤4:更新目标列表的Preview列
添加「条件」动作,判断「获取项」返回的值是否不为空(确保找到匹配条目):
- 条件成立时,添加「更新项」动作:
- 配置站点地址、列表名称为
Master Catalog的对应信息 - ID选择「获取项」返回的条目ID
- Preview列:输入符合要求的图片链接JSON格式,示例:
[{"serverRelativeUrl": "/sites/你的站点/Lists/Images/Attachments/123/GL Detail - Bal Sht Accts.png"}](可以用「组合」动作拼接这个字符串)
- 配置站点地址、列表名称为
步骤5:测试流程
保存流程后,在Images列表上传一张名称与Master Catalog中Report Name匹配的图片,触发流程后查看运行历史,确认每个步骤的输出是否符合预期,比如是否成功匹配条目、图片是否写入Preview列。
注意事项
- 列内部名:SharePoint列的显示名和内部名可能不一致,获取方法是进入列表设置→点击目标列→查看地址栏
Field=后的字符串,就是列的内部名 - 权限:确保Power Automate的连接账号拥有两个列表的读写权限
- 重复触发:如果需要避免修改图片时重复触发,可在触发条件中添加筛选规则,仅当图片相关列修改时触发
内容的提问来源于stack exchange,提问作者angelo Ladica
相关产品推荐
相关产品推荐

