无需登录账户控制台,如何通过代码获取Databricks账户ID?
通过Terraform自动获取Azure Databricks账户ID以配置账户级Provider
方法1:查询已存在的Databricks账户
如果你已经创建了Databricks账户,可通过AzureRM Provider的数据源自动拉取账户ID,实现全流程自动化:
- 先配置AzureRM Provider(确保执行Terraform的服务主体有对应权限):
provider "azurerm" { features {} }
- 添加数据源查询目标账户:
data "azurerm_databricks_account" "my_databricks_account" { name = "你的Databricks账户名称" resource_group_name = "账户所在的资源组名称" }
- 在Databricks账户级Provider中引用该ID:
provider "databricks" { host = "https://accounts.azuredatabricks.net" account_id = data.azurerm_databricks_account.my_databricks_account.id }
方法2:创建账户时直接引用ID
如果是通过Terraform新建Databricks账户,可直接将新建账户的ID传入Databricks Provider,无需额外查询:
# 新建Azure Databricks账户 resource "azurerm_databricks_account" "my_new_account" { name = "new-databricks-account" resource_group_name = "目标资源组名称" location = "eastus" # 替换为你的部署区域 sku_name = "premium" # 根据业务需求选择SKU } # 配置Databricks账户级Provider provider "databricks" { host = "https://accounts.azuredatabricks.net" account_id = azurerm_databricks_account.my_new_account.id }
注意事项
- 服务主体权限要求:针对已存在的账户需要
Databricks Account Reader或Databricks Account Contributor角色;针对新建账户需要Databricks Account Contributor角色。 - 上述方式完全覆盖基础设施即代码的自动化流程,无需手动从控制台复制账户ID。
内容的提问来源于stack exchange,提问作者Hazard
相关产品推荐
相关产品推荐

