Databricks Terraform 提供程序疑难解答

本文提供有关使用 Databricks Terraform 提供程序时出现的常见错误的故障排除信息。 有关 Databricks Terraform 提供程序的信息,请参阅 Databricks Terraform 提供程序

备注

有关 Terraform 特定的支持,请查看 HashiCorp Discuss 网站上的最新 Terraform 主题。 有关 Databricks Terraform 提供程序特定的问题,请查看 GitHub 存储库 databrickslabs/terraform-provider-databricks 中的问题

错误:无法安装提供程序

问题:如果未将 terraform.lock.hcl 文件签入版本控制系统,并且运行 terraform init 命令,则会显示以下消息:Failed to install provider。 其他输出可能包括如下所示的消息:

Error while installing databrickslabs/databricks: v1.0.0: checksum list has no SHA-256 hash for "https://github.com/databricks/terraform-provider-databricks/releases/download/v1.0.0/terraform-provider-databricks_1.0.0_darwin_amd64.zip"

原因:Terraform 配置引用了过时的 Databricks Terraform 提供程序。

解决方案

  1. 在所有 .tf 文件中将 databrickslabs/databricks 替换为 databricks/databricks

    若要自动执行这些替换,请从包含要更新的 .tf 文件的父文件夹运行以下 Python 命令:

    python3 -c "$(curl -Ls https://dbricks.co/updtfns)"
    
  2. 运行以下 Terraform 命令,然后在出现提示时批准更改:

    terraform state replace-provider databrickslabs/databricks databricks/databricks
    

    有关此命令的信息,请参阅 Terraform 文档中的命令:state replace-provider

  3. 运行以下 Terraform 命令验证更改:

    terraform init
    

错误:无法查询可用的提供程序包

问题:如果未将 terraform.lock.hcl 文件签入版本控制系统,并且运行 terraform init 命令,则会显示以下消息:Failed to query available provider packages

原因:Terraform 配置引用了过时的 Databricks Terraform 提供程序。

解决方案:按照错误:无法安装提供程序中的解决方案说明进行操作。

启用日志记录

为帮助排查问题,Databricks Terraform 提供程序可输出可以通过将 TF_LOG 环境变量设置为 DEBUG 或 Terraform 支持的任何其他日志级别来启用的日志。

默认情况下,日志将发送到 stderr。 要将日志发送到文件,请将 TF_LOG_PATH 环境变量设置为目标文件路径。

例如,可以运行以下命令以在调试级别启用日志记录,并将单色格式的日志输出到相对于当前工作目录的名为 tf.log 的文件,而 terraform apply 命令则运行:

TF_LOG=DEBUG TF_LOG_PATH=tf.log terraform apply -no-color

有关 Terraform 日志记录的详细信息,请参阅调试 Terraform