閱讀英文

共用方式為

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