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

如何通过Terraform变量传入Databricks URL与Token创建集群等资源?

实现方案

一、在variables.tf中直接传入URL和Token完成认证

  1. 先在variables.tf中定义敏感变量:
variable "databricks_workspace_url" {
  type        = string
  description = "Databricks工作区URL"
}

variable "databricks_token" {
  type        = string
  description = "Databricks工作区认证Token"
  sensitive   = true # 标记为敏感变量,避免Terraform输出泄露
}
  1. 在主配置文件(如main.tf)中配置Databricks Provider,直接引用上述变量:
terraform {
  required_providers {
    databricks = {
      source  = "databricks/databricks"
      version = ">= 1.20.0" # 按需指定合适的版本
    }
  }
}

provider "databricks" {
  host  = var.databricks_workspace_url
  token = var.databricks_token
}

之后可以通过两种方式传入变量值:

  • 命令行直接传递:
terraform apply -var="databricks_workspace_url=https://your-workspace-url" -var="databricks_token=your-token-value"
  • 写入.tfvars文件(注意不要提交到版本控制):
# terraform.tfvars
databricks_workspace_url = "https://your-workspace-url"
databricks_token = "your-token-value"

二、跨文件传递工作区URL和Token

场景1:同一配置目录下的不同文件

  1. 在工作区创建的配置中添加outputs.tf,输出URL和Token:
output "databricks_workspace_url" {
  type        = string
  value       = aws_databricks_workspace.your_workspace.url # 替换为实际工作区资源的URL属性
  description = "Databricks工作区URL"
}

output "databricks_token" {
  type        = string
  value       = aws_databricks_workspace.your_workspace.token # 替换为实际工作区资源的Token属性
  description = "Databricks工作区认证Token"
  sensitive   = true
}
  1. 后续创建集群、Notebook等资源时,直接使用已配置好的Provider即可,无需额外传递变量——Provider会自动使用variables.tf中的值完成认证。

场景2:不同配置目录(多模块/独立部署)

  1. 工作区部署时启用远程状态存储(如S3),确保状态文件可被其他配置访问:
# 工作区配置的terraform块
terraform {
  backend "s3" {
    bucket = "your-terraform-state-bucket"
    key    = "databricks-workspace/terraform.tfstate"
    region = "us-east-1"
  }
}
  1. 在后续资源的配置文件中,通过terraform_remote_state数据源读取工作区输出:
data "terraform_remote_state" "databricks_workspace" {
  backend = "s3"
  config = {
    bucket = "your-terraform-state-bucket"
    key    = "databricks-workspace/terraform.tfstate"
    region = "us-east-1"
  }
}

# 配置Databricks Provider时使用远程状态的输出值
provider "databricks" {
  host  = data.terraform_remote_state.databricks_workspace.outputs.databricks_workspace_url
  token = data.terraform_remote_state.databricks_workspace.outputs.databricks_token
}

# 后续创建集群、Notebook等资源即可正常使用该Provider

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:25:25