問題
您正在使用Terraform在AWS中部署工作空間,您將得到一個憑據驗證檢查失敗錯誤消息。
│www.ramcatwww.databricks_mws_credentials: Failed credential validation checks:請使用一個有效的跨帳戶IAM角色,並設置正確的權限。這是關於跨賬戶角色的。│29:資源“databricks_mws_credentials”“this”{│
導致
當Terraform應用跨帳戶角色配置時,由於競態條件而發生此問題。如果你重新運行起程拓殖應用在得到憑據驗證檢查失敗錯誤時,操作成功且沒有導致錯誤消息。
解決方案
您應該為跨帳戶角色配置添加一個人工延遲作為依賴項。這可以防止在使用Terraform時出現競態條件。
- 在本例跨帳戶角色配置文件中,time_sleep.wait已作為依賴項添加。
/ / cross-account-role。tf //正確配置跨帳戶角色,以便在您的AWS帳戶中創建新的工作區。//參考https://registry.terraform.io/providers/databrickslabs/databricks/latest/docs/resources/mws_credentials resource "databricks_mws_credentials" "this" {provider = databricks. xml "MWS account_id = var.databricks_account_id role_arn = aws_iam_role.cross_account_role。Arn credentials_name = "${local. "前綴}-creds" depends_on = [time_sleep. quot;等待]}
- 延遲時間設置為10秒。您可以根據需要調整延遲長度。
資源“time_sleep”“wait”{depends_on = [aws_iam_role. net]Cross_account_role] create_duration = "10s"}
- 保存修改後的跨帳號角色配置文件。
- 運行起程拓殖init.
- 運行起程拓殖應用.
將人工延遲添加到跨帳戶角色配置後,您可以恢複使用Terraform的正常部署。
檢查Terraform time_sleep文檔獲取更多信息。
您還可以查看Databricks Terraform文檔.