如何在Azure Synapse管道中用Web活动调用ADLS Gen2 REST API重命名文件夹
在Azure Synapse管道中通过Web活动调用ADLS Gen2 REST API重命名文件夹
核心原理
ADLS Gen2没有直接的文件夹重命名API,需通过Move操作实现——将目标文件夹从原路径移动到同一容器内的新路径,效果等同于重命名。
步骤1:配置Web活动的基本参数
在Synapse管道中添加Web活动,设置以下基础属性:
- 方法:选择
PUT - URL:按ADLS Gen2 REST API格式构造:
替换占位符:https://<存储账户名>.dfs.core.windows.net/<容器名>/<新文件夹路径>?resource=directory&renameSource=/<容器名>/<原文件夹路径><存储账户名>:你的Azure存储账户名称<容器名>:目标容器名称<原文件夹路径>:要重命名的原文件夹完整路径(比如old-folder/subfolder)<新文件夹路径>:重命名后的文件夹完整路径(比如new-folder/subfolder)
步骤2:配置身份验证
Web活动需要有权限操作ADLS Gen2,推荐用托管标识认证:
- 在Web活动的身份验证选项卡:
- 选择 托管标识
- 资源输入
https://storage.azure.com/ - 确保Synapse工作区的托管标识已被授予存储账户的Storage Blob Data Contributor(或更高权限)角色
步骤3:配置请求头
添加必要的请求头:
x-ms-version:设置为2020-02-10(或更高兼容版本)x-ms-date:可留空,Web活动会自动填充当前时间
步骤4:测试与验证
运行管道后,可通过以下方式验证:
- 登录Azure门户,查看存储账户容器内的文件夹名称是否更新
- 在Synapse Studio的数据选项卡中浏览ADLS Gen2容器,确认重命名结果
注意事项
- 原文件夹路径必须存在,否则API会返回错误
- 新文件夹路径不能已存在,否则会覆盖(如需避免覆盖,可先通过其他活动检查路径是否存在)
- 确保托管标识的权限范围正确,仅授予必要的容器或文件夹权限
内容的提问来源于stack exchange,提问作者Ajith D
相关产品推荐
相关产品推荐

