如何用Terraform将Unity Catalog中现有Databricks Catalog绑定至工作区?
可以将现有Unity Catalog分配给新Azure Databricks工作区
完全可以通过Terraform将已有的Unity Catalog绑定到新的Azure Databricks工作区,无需重新创建Catalog。以下是具体实现步骤:
步骤1:配置Azure Databricks Provider
在Terraform配置中指定目标工作区的Provider,确保使用有权限操作Unity Catalog和目标工作区的身份(如Azure服务主体):
provider "databricks" { alias = "target_workspace" host = "https://<你的目标工作区URL>" client_id = "<Azure服务主体ID>" client_secret = "<Azure服务主体密钥>" tenant_id = "<Azure租户ID>" }
步骤2:绑定现有Catalog到目标工作区
使用databricks_catalog_workspace_binding资源关联已有Catalog与目标工作区,只需指定Catalog名称和目标工作区ID即可:
resource "databricks_catalog_workspace_binding" "existing_catalog_binding" { provider = databricks.target_workspace catalog_name = "<你的现有Catalog名称>" workspace_id = "<目标工作区的ID>" }
关键注意事项
- 操作身份需具备:Unity Catalog元存储的
OWNER或CREATE CATALOG权限,同时拥有目标工作区的管理员权限或相关绑定权限。 - 一个Catalog可同时绑定多个工作区,新增绑定不会影响原有绑定关系。
- 执行
terraform apply后,目标工作区即可访问该Catalog下的所有数据对象(前提是工作区已配置Unity Catalog元存储)。
内容的提问来源于stack exchange,提问作者Rajib
相关产品推荐
相关产品推荐

