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

Terraform Cloud引用外部目录Databricks Notebook路径求助

解决方案:Terraform Cloud中引用Databricks Notebook文件的正确路径

一、正确的路径引用方式

核心原则

Terraform处理本地文件路径时,以当前Terraform配置模块的根目录为基准(Terraform Cloud默认使用仓库根目录作为工作目录)。只要src/notebook/mynotebook.py已提交至仓库且未被.gitignore排除,即可直接使用从根目录出发的相对路径。

具体代码示例

在Databricks Notebook资源中,通过filebase64()函数读取文件内容(Databricks要求Notebook内容以base64格式传入):

resource "databricks_notebook" "my_notebook" {
  path     = "/Workspace/Users/your-user@example.com/my_notebook"
  language = "PYTHON"
  content_base64 = filebase64("src/notebook/mynotebook.py")
}

特殊情况处理

若Terraform配置文件不在仓库根目录(例如放在terraform/子目录下),需调整为相对当前tf文件的路径:

content_base64 = filebase64("../src/notebook/mynotebook.py")

二、内容来源的可选配置方案

除直接读取本地文件外,还有几种灵活的配置方式:

1. 通过变量传递文件路径

将文件路径设为变量,便于复用资源定义或动态调整:

variable "notebook_file_path" {
  type        = string
  description = "路径相对于Terraform模块根目录"
  default     = "src/notebook/mynotebook.py"
}

resource "databricks_notebook" "my_notebook" {
  path     = "/Workspace/Users/your-user@example.com/my_notebook"
  language = "PYTHON"
  content_base64 = filebase64(var.notebook_file_path)
}

2. 模块化封装Notebook资源

若将Notebook作为模块的一部分,可在模块内部定义相对路径,调用模块时无需额外调整:

# 模块内的资源定义(假设模块位于modules/databricks_notebook/)
resource "databricks_notebook" "module_notebook" {
  path     = var.notebook_workspace_path
  language = var.notebook_language
  content_base64 = filebase64("../../src/notebook/mynotebook.py")
}

3. 直接嵌入简单代码(不推荐复杂场景)

对于简短脚本,可直接将代码嵌入配置,但不利于维护复杂逻辑:

resource "databricks_notebook" "my_notebook" {
  path     = "/Workspace/Users/your-user@example.com/my_notebook"
  language = "PYTHON"
  content_base64 = base64encode(<<-EOT
    print("Hello from Databricks Notebook")
    # 更多代码...
  EOT
  )
}

关键排查点

  • 确认src/notebook/mynotebook.py已提交至Git仓库,未被.gitignore规则排除
  • 在Terraform Cloud工作空间设置中,检查执行模式为"Remote",且工作目录设为仓库根目录
  • 验证路径拼写,注意大小写(Git和Terraform对路径大小写敏感)

内容的提问来源于stack exchange,提问作者Francisco Quiñonez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:05:20