之後我已經起程拓殖磚上的文檔的文檔來提供資源AWS帳戶水平。我可以創建工作區,添加用戶,等等。但是,當我去使用提供者在non-mws模式中,我收到錯誤說:
錯誤:工作區是最有可能沒有了,因為“主機”是空的。請添加' depends_on = [databricks_mws_workspaces。這)”或“(azurerm_databricks_workspace depends_on =。這對每一個數據資源]。看到https://www.terraform.io/docs/language/resources/behavior.html更多信息。請檢查https://registry.terraform.io/providers/databricks/databricks/latest/docs驗證詳情││module.workspaces.data.databricks_spark_version。最近,│. . /模塊/ aws_workspaces / init。tf第11行,數據“databricks_spark_version”“最新”:│11:數據“databricks_spark_version”“最新”{}
說明這我有一個文件創建所謂的根。tf創建根多工作站係統級資源絕對好。
供應商“磚”{別名= "多工作站係統"主機= " https://accounts.cloud.m.eheci.com "用戶名= var.databricks_account_username密碼= var.databricks_account_password}模塊“根”{源= " . ./模塊/ aws_root”databricks_account_id = var.databricks_account_id標簽= var.tags地區= var.region cidr_block = var.cidr_block databricks_users = var.databricks_users databricks_metastore_admins = var.databricks_metastore_admins unity_admin_group = ={磚var.unity_admin_group提供者。多工作站係統=磚。多工作站係統}}
輸出來自模塊:
“databricks_host”{value = databricks_mws_workspaces.this輸出。workspace_url}輸出“databricks_token”{value = databricks_mws_workspaces.this.token [0]。token_value敏感= true} {value = databricks_mws_workspaces.this“databricks_workspace_id”輸出。workspace_id敏感= false} {value = databricks_mws_workspaces.this“databricks_account_id”輸出。account_id敏感= true} {value = aws_iam_role.metastore_data_access“aws_iam_role_metastore_data_access_arn”輸出。在攻擊輸出“aws_iam_role_metastore_data_access_name”{value = aws_iam_role.metastore_data_access.name}}“aws_s3_bucket_metastore_id”{value = aws_s3_bucket.metastore輸出。id}
這些可以看到當我做一個創建的資源
“起程拓殖狀態顯示<輸出>”
然而,當我去創建一個工作區級別提供者創建一些筆記本,集群,等等……我似乎無法讓孩子模塊資源使用新創建的主機提供商,即使它被設置,我可以看到它的價值。即使是硬編碼主機不工作。他們都輸出上述錯誤。
可以看到這個提供者和模塊的創建:
供應商“磚”=“工作區”主機= module.root{別名。= module.root databricks_host標記。databricks_token account_id = module.root。databricks_account_id}模塊“工作區”{源= " . ./模塊/ aws_workspaces”aws_s3_bucket_metastore_id = module.root。aws_s3_bucket_metastore_id aws_iam_role_metastore_data_access_arn = module.root。aws_iam_role_metastore_data_access_arn aws_iam_role_metastore_data_access_name = module.root。aws_iam_role_metastore_data_access_name cidr_block = var.cidr_block databricks_account_id = var.databricks_account_id databricks_bronze_users = var.databricks_bronze_users databricks_gold_users = var.databricks_gold_users databricks_host = module.root。databricks_host databricks_metastore_admins = var.databricks_metastore_admins databricks_silver_users = var.databricks_silver_users databricks_token = module.root。databricks_token databricks_users = var.databricks_users databricks_workspace_id = module.root。databricks_workspace_id python_module_version_number =當地。python_module_version_number shed_databricks_egg_name = var.shed_databricks_egg_name標簽= var.tags unity_admin_group = var.unity_admin_group配置=當地。配置depends_on =[模塊。根)提供者={磚=磚。工作區}}
init方法,使用這個提供者和扔在這裏可以看到一個錯誤:
起程拓殖{required_providers{磚={源=“磚/磚" version = " ~ > 1.6.2“configuration_aliases =[磚。工作區]}}}“databricks_spark_version”“最新”{}數據“databricks_node_type”“最小”{local_disk = true}
建議添加的depends_on
“databricks_mws_workspace。這“是不可能的,因為它被創建在根模塊的磚。多工作站係統的提供者使用。(文檔說每個模塊應該隔離提供者)。
所以這個問題的答案是,你需要顯式地通過數據的提供者參數每個資源塊。文檔應該被更新以適應。
即。
數據“databricks_spark_version”“最新”{提供者=磚。工作區}數據”databricks_node_type”“最小”{提供者=磚。工作區local_disk = true}