Azure DevOps CI流水线复制Databricks Notebook至Workspace Live文件夹异常
问题分析与解决
你的流水线用CopyFiles@2任务执行成功,但文件没出现在Databricks Workspace里,核心原因是这个任务只在Azure DevOps的代理机器本地复制文件,根本没和Databricks Workspace做任何交互——复制的文件只留在了代理的Databricks/Workspace/live路径下,没上传到云端的Databricks工作区。
正确的解决步骤
1. 使用Databricks专用部署任务
替换CopyFiles@2为Azure DevOps提供的DatabricksDeployNotebooks@0任务,这个任务是专门用来将Notebook上传到Databricks Workspace的。
2. 先配置Databricks服务连接
在Azure DevOps项目的「项目设置」→「服务连接」里,创建一个Databricks类型的服务连接,关联你的目标Databricks工作区,确保流水线有访问权限。
3. 修改后的YAML配置示例
trigger: none pool: vmImage: 'windows-latest' variables: solution: '' buildPlatform: 'Any CPU' buildConfiguration: 'Release' steps: - task: DatabricksDeployNotebooks@0 displayName: 'Deploy Databricks notebooks to Live folder' inputs: azureSubscription: '你的Databricks服务连接名称' workspaceUrl: '你的Databricks工作区URL' # 比如https://xxx.azuredatabricks.net sourcePath: '$(Build.SourcesDirectory)/adb-notebook' targetPath: '/Workspace/live' # Databricks工作区的绝对路径,必须以/开头 importFormat: 'SOURCE' # 根据你的Notebook格式选择,支持SOURCE、DBC、HTML等
4. 额外检查项
- 确认
sourcePath下的文件是Databricks支持的格式(比如.py、.ipynb、.scala) - 验证
targetPath的路径是否正确,Databricks Workspace的路径必须是绝对路径 - 确认服务连接的账号有目标文件夹的写入权限
内容的提问来源于stack exchange,提问作者sen
相关产品推荐
相关产品推荐

