You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure Databricks笔记本将ADLS文件推送到Azure DevOps GIT仓库

可以通过编程方式在Azure Databricks笔记本中完成你提到的两个操作,以下是可直接落地的实现方案:

问题原因说明

你之前在笔记本内执行git clone失败,主要有两个原因:

  • 没有配置Azure DevOps仓库的访问凭证
  • 尝试克隆到DBFS目录时会有权限兼容问题,直接操作集群驱动节点的本地临时目录即可规避该问题,不需要依赖UI操作的Databricks Repos功能。

步骤1:从ADLS获取目标文件

你可以直接通过DBFS工具将ADLS中的文件复制到驱动节点的本地临时目录:

# 提前创建本地操作目录
dbutils.fs.mkdirs("file:/tmp/git_sync/")
# 替换为你的ADLS文件路径,如果你已经挂载ADLS到/mnt/下,直接用挂载路径即可
# 未挂载ADLS时可直接用abfss路径:abfss://容器名@存储账号名.dfs.core.windows.net/文件路径
dbutils.fs.cp("/mnt/adls_target/path/xxx.csv", "file:/tmp/git_sync/xxx.csv")

步骤2:推送文件到Azure DevOps Git仓库

前置准备

提前在Azure DevOps中创建具备仓库读写权限的个人访问令牌(PAT),建议将PAT存入Databricks Secrets避免硬编码泄露。

执行Git操作

%sh
# 安装Git(如果集群镜像未预装)
apt update && apt install -y git

# 配置Git全局信息
git config --global user.name "你的DevOps用户名"
git config --global user.email "你的DevOps绑定邮箱"

# 进入临时目录克隆仓库,替换占位符为你的实际信息
cd /tmp
# PAT可通过dbutils.secrets.get("密钥域","密钥名")读取后动态拼接
git clone https://<你的PAT>@dev.azure.com/<组织名>/<项目名>/_git/<目标仓库名>

# 移动文件到仓库目录、提交推送
cd /tmp/<目标仓库名>
cp /tmp/git_sync/xxx.csv ./仓库内的目标存储路径/
git add .
git commit -m "同步ADLS生成的csv文件"
git push origin <目标分支名>

注意:所有%sh命令默认仅在集群驱动节点执行,所有操作都在驱动节点本地目录完成即可,无需Worker节点参与。如果需要定期执行该流程,可以把该笔记本设置为定时作业。

内容的提问来源于stack exchange,提问作者romanzdk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:06:02