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

如何用Terraform创建引用Azure密钥保管库的Databricks SQL Server连接

解决Terraform配置Databricks Lakehouse Federation SQL Server连接并引用Secret Scope密钥的问题

方法1:使用databricks_sql_resource执行原生SQL语句

由于Lakehouse Federation处于Public Preview阶段,databricks_connection资源暂未完全适配Secret Scope的引用语法,最稳妥的方式是直接用databricks_sql_resource执行你原本的SQL脚本,完全复现预期效果:

resource "databricks_sql_resource" "sqlserver_connection" {
  sql = <<-SQL
    CREATE CONNECTION sqlserver_connection TYPE sqlserver
    OPTIONS (
      host 'test.database.windows.net',
      port '1433',
      user secret('<secret-scope>','<secret-key-user>'),
      password secret('<secret-scope>','<secret-key-password>')
    )
  SQL
}

该资源会直接在Databricks中运行指定SQL,和手动执行脚本的效果完全一致,完美支持Secret Scope的引用语法。

方法2:适配databricks_connection资源(API兼容场景)

如果偏好使用databricks_connection资源,可以直接将options中的user和password设置为Secret Scope的引用字符串,Databricks API会自动解析该格式:

resource "databricks_connection" "sqlserver" {
  name            = "sqlserver_connection"
  connection_type = "SQLSERVER"
  options = {
    host     = "test.database.windows.net"
    port     = "1433"
    user     = "secret('<secret-scope>','<secret-key-user>')"
    password = "secret('<secret-scope>','<secret-key-password>')"
  }
}

注意:因功能处于预览阶段,databricks_connection的参数可能存在变动,优先推荐方法1保障兼容性。

额外注意事项

  • 确保Databricks Workspace已配置Azure Key Vault托管的Secret Scope,且Terraform使用的身份具备该Secret Scope的访问权限。
  • 若遇权限问题,需检查Databricks权限配置,确保执行SQL或创建连接的身份拥有对应操作权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:46:04