如何将C#可执行程序与Azure Data Factory集成,完成VC上的文件处理?
解决方案步骤
1. 部署Parse.exe到VC环境
- 把
Parse.exe和所有依赖文件放到VC节点的本地固定目录(比如C:\ParseTool\),或者存到VC能访问的共享存储(比如Azure File Share,挂载到节点的Z:\ParseTool\),确保节点有exe的执行权限。 - 先在VC节点上手动跑一遍
Parse.exe,指定输入TSV路径和输出路径,确认能生成正确的结果文件,避免后续ADF调度时踩坑。
2. 配置ADF链接服务
- 给VC的存储(比如Blob/ADLS Gen2)创建Azure存储链接服务,保证ADF能读取输入TSV、写入结果文件。
- 如果Parse.exe需要在VC节点本地处理文件,给VC的VM/Scale Set创建Azure虚拟机链接服务(要是用的Azure Batch集群就建Batch服务链接),让ADF能远程执行命令。
3. 搭建ADF管道流程
3.1 同步输入文件到VC节点本地(可选)
要是你的Parse.exe只能读本地文件,加个复制活动:
- 源:选VC存储里的输入TSV文件(用之前配置的存储链接服务)
- 目标:选VC节点的本地文件系统(通过虚拟机链接服务,指定路径比如
C:\Temp\Input\)
3.2 执行Parse.exe处理文件
加个自定义活动(Batch集群就用批处理活动):
- 链接服务:选VC的虚拟机/Batch链接服务
- 命令行填执行命令,比如:
(根据你自己的exe参数调整输入输出路径,开头的mkdir C:\Temp\Output && C:\ParseTool\Parse.exe -input "C:\Temp\Input\input.tsv" -output1 "C:\Temp\Output\result1.tsv" -output2 "C:\Temp\Output\result2.tsv"mkdir是确保输出目录存在)
3.3 同步结果文件回VC存储
再加个复制活动:
- 源:选VC节点本地的输出目录(
C:\Temp\Output\),选中两个结果TSV文件 - 目标:选VC存储的目标路径(用存储链接服务)
4. 测试调试
- 先单独测每个活动:确认复制活动能传对文件,自定义活动能成功跑exe生成结果。
- 跑完整管道,检查VC存储里有没有预期的结果文件。
- 要是碰到权限问题,检查VC节点的exe执行权限、ADF链接服务的权限(比如存储账户密钥、VM登录凭据)。
内容的提问来源于stack exchange,提问作者hybriden
相关产品推荐
相关产品推荐

