Azure Data Factory中C#对象创建及SQL连接配置问题咨询
ADF中无法创建C#对象的原因及正确用法
ADF本身是云数据集成服务,内置的编辑界面不支持直接编写、实例化C#对象,你创建失败是因为用错了实现方式,要跑自定义C#逻辑走下面两种标准方案:
- 方案1:用Azure Function活动承载C#逻辑
把你需要用到的C#类、对象、业务逻辑全部写在Azure Function项目里,提前部署到Azure Function App,之后在ADF管线里添加Azure Function活动,配置好对应函数地址,传入需要的参数,直接调用即可,所有C#相关的代码逻辑全部在Function侧维护,ADF只负责任务调度和参数传递。 - 方案2:用自定义.NET活动(仅适用于需要对接本地资源的场景)
先把C#代码编译为标准类库DLL文件,上传到和ADF关联的Azure Blob存储指定容器,之后在管线里添加自定义.NET活动,配置好DLL路径、要执行的类名、入口方法名,搭配自托管集成运行时(SHIR)执行即可。
注意:ADF内置的表达式编辑器只支持ADF自有表达式语法,完全不识别C#语法,不要尝试在表达式框、活动参数栏直接写C#类定义或者实例化代码
ADF创建SQL连接的具体操作步骤
- 第一步:进入ADF Studio,点击左侧导航栏的「管理」入口(公文包样式图标),在分类里找到「链接服务」,点击「新建」按钮
- 第二步:在弹出的数据源选择面板里,搜索你要对接的SQL类型(支持Azure SQL数据库、SQL Server本地实例、Azure SQL托管实例、Synapse SQL池等),选中对应类型后点击继续
- 第三步:按页面提示填写连接配置:
- 自定义一个易识别的连接名称,不要使用默认生成的随机名称
- 选择适配的集成运行时:公网可访问的Azure云SQL选默认的Azure自动解析IR即可;本地部署SQL、私有VNet内无公网访问的SQL,选择提前部署完成的自托管IR/托管VNet IR
- 填写SQL服务器地址、目标数据库名称
- 选择认证方式:优先选系统托管标识认证(给ADF的托管标识分配对应SQL库的读写权限即可,无需维护账号密码),也可根据实际场景选SQL账号认证、服务主体认证,填写对应账号密钥即可
- 第四步:点击「测试连接」,提示验证通过后点击「创建」,后续建数据集、配置复制/Lookup等SQL相关活动时,直接选择这个建好的链接服务即可,无需重复配置连接信息。
常见排错提示:如果测试连接失败,优先排查三个点:一是SQL服务端防火墙是否放通你所选集成运行时的出口IP;二是你配置的认证账号是否有目标数据库的对应操作权限;三是如果用自托管IR,确认IR所在机器能正常访问SQL服务的对应端口(默认1433)。
内容的提问来源于stack exchange,提问作者Being Real
相关产品推荐
相关产品推荐

