databricks_metastores Проблема с источником данных:
используемый код терраформирования:
data "databricks_metastores" "all" {}
output "all_metastores" {
value = data.databricks_metastores.all.ids
}
Я использовал поставщика уровня учетной записи Azure, как показано ниже.
provider "databricks" {
alias = "azure_account"
host = "https://accounts.azuredatabricks.net"
account_id = "valid account id" # provided valid account id
auth_type = "azure-cli"
}
Ошибка:
Планирование провалилось. Terraform обнаружил ошибку при создании этого плана.
╷ │ Ошибка: невозможно прочитать метахранилища: невозможно получить клиентские метахранилища: неверная конфигурация учетной записи Databricks. │
│ `with data.databricks_metastores.all,
│ on main.tf line 59, in data "databricks_metastores" "all":
│ 59: data "databricks_metastores" "all" {}
Не могли бы вы мне помочь решить эту проблему?
Пытаюсь получить идентификатор мясного магазина
Получение идентификаторов нескольких мегамагазинов с использованием terraform
Похоже, проблема заключается в том, как вы пытаетесь получить доступ к учетным записям блоков данных.
Несмотря на то, что мы предоставляем полную информацию поставщику для чтения всей информации, ему по-прежнему не удается установить соединение для terraform для доступа к учетной записи блоков данных.
Даже я столкнулся с той же ошибкой с упомянутой конфигурацией, поскольку при этом подходе не удалось прочитать информацию о метахранилище, поскольку ему вообще не удалось установить соединение.
Чтобы решить проблему со ссылкой на документ provider = databricks.accounts
to terraform_registery, я попытался сослаться на реестр внутри модуля данных для метахранилищ, когда это помогает получить искомую информацию.
Конфигурация:
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
}
databricks = {
source = "databricks/databricks"
}
}
}
provider "azurerm" {
subscription_id = "xxxx-xxx-xxx-xxxx"
features {}
}
data "azurerm_databricks_workspace" "this" {
name = "testsamplevksb"
resource_group_name = "vksb-rg"
}
provider "databricks" {
host = data.azurerm_databricks_workspace.this.workspace_url
}
provider "databricks" {
alias = "accounts"
host = "https://accounts.azuredatabricks.net"
account_id = "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
data "databricks_metastores" "all" {
provider = databricks.accounts
}
output "all_metastores" {
value = data.databricks_metastores.all.ids
}
мой уже существующий список метахранилищ:
Развертывание:
ссылаться:
azurerm_databricks_workspace | Ресурсы | хашикорп/азурерм | Терраформировать | Реестр Терраформ
Еще одна вещь: хочу ли я использовать здесь идентификатор метахранилища конкретного региона? как использовать идентификатор метахранилища для подключения рабочей области, скажем, региона Eastasia. у вас есть какие-нибудь идеи по этому поводу? Metastore_id = data.databricks_metastores.?.?.?
Да, возможно. Не могли бы вы придумать новый дополнительный запрос, чтобы я мог предоставить вам подробное решение @user26489951
Привет, Винай Б. Спасибо, что ответили на этот запрос, теперь все работает нормально. Очень признателен.