Azure DF v2自定义活动控制台应用上传位置咨询
Azure Data Factory v2 自定义活动部署指南
嘿,你已经搞定控制台应用的开发,这步已经走了大半啦!针对你的问题,直接给你说清楚:你不需要做什么特殊的发布操作,只要把编译好的程序正确打包后,上传到Azure Blob存储是完全可行的——这也是官方推荐的主流方式。不过具体细节要结合你选的计算环境来调整,我给你拆解两种常见场景:
场景1:用Azure Batch作为计算环境(推荐)
这是大多数用户的首选,步骤超清晰:
- 先把你的控制台应用切换到Release模式编译,然后把生成的所有文件(包括
.exe、依赖的DLL、配置文件,甚至是需要的本地资源文件)打包成一个ZIP压缩包 - 把这个ZIP包上传到你的Azure存储账户的Blob容器里(建议用私有容器,后续在DF里配置SAS密钥或者托管身份来访问)
- 在Data Factory里创建自定义活动时:
- 先关联你的Azure Batch账户作为计算链接服务
- 在自定义活动的设置面板里,填写Blob存储中ZIP包的完整路径(比如
https://yourstorageaccount.blob.core.windows.net/yourcontainer/your-app-package.zip) - 最后指定启动命令,比如
YourApp.exe --input-param your-value——DF会自动把ZIP包解压到Batch节点的临时目录,然后执行你指定的命令
场景2:用自托管集成运行时(IR)
如果你的自定义活动需要访问本地资源、私有网络里的服务,就适合用自托管IR,有两种部署方式:
- 方式一:直接把编译好的所有程序文件(exe、DLL等)复制到自托管IR所在虚拟机的某个固定目录下,然后在自定义活动里指定这个目录下的exe路径作为启动命令
- 方式二:和Batch场景一样,打包成ZIP上传到Blob存储,在自定义活动里指定ZIP路径,自托管IR会自动下载解压到本地临时目录执行
- 注意:如果用方式一,要确保自托管IR的服务账户有访问该目录的权限;如果用方式二,得给自托管IR配置好访问Blob存储的权限(比如托管身份、SAS密钥)
几个关键提醒
- 编译的时候要注意目标框架版本:如果用Batch的默认节点镜像,一般支持.NET Framework 4.7.2+或者.NET Core 3.1+,要和你的应用匹配
- 所有依赖文件必须一起打包!比如你的应用用到了第三方DLL、自定义配置文件,一定要把它们放进ZIP包,不然运行时会报“找不到文件”的错误
- 先在本地把控制台应用跑通,确保输入输出都符合预期,再部署到DF环境,这样排查问题会更高效
内容的提问来源于stack exchange,提问作者Tomáš Čičman
相关产品推荐
相关产品推荐

