Источник данных databricks_metastores — я пытаюсь использовать его в Azure, чтобы узнать идентификатор хранилища метаданных. Получение ошибки: неверная конфигурация учетной записи блоков данных

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" {}

Не могли бы вы мне помочь решить эту проблему?

Пытаюсь получить идентификатор мясного магазина

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Получение идентификаторов нескольких мегамагазинов с использованием 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
}

мой уже существующий список метахранилищ:

Развертывание:

ссылаться:

databricks_metastore | Источники данных | блоки данных/блоки данных | Терраформировать | Реестр Терраформ

databricks_metastores | Источники данных | блоки данных/блоки данных | Терраформировать | Реестр Терраформ

azurerm_databricks_workspace | Ресурсы | хашикорп/азурерм | Терраформировать | Реестр Терраформ

Привет, Винай Б. Спасибо, что ответили на этот запрос, теперь все работает нормально. Очень признателен.

user26489951 25.07.2024 08:33

Еще одна вещь: хочу ли я использовать здесь идентификатор метахранилища конкретного региона? как использовать идентификатор метахранилища для подключения рабочей области, скажем, региона Eastasia. у вас есть какие-нибудь идеи по этому поводу? Metastore_id = data.databricks_metastores.?.?.?

user26489951 25.07.2024 08:36

Да, возможно. Не могли бы вы придумать новый дополнительный запрос, чтобы я мог предоставить вам подробное решение @user26489951

Vinay B 25.07.2024 08:57

Другие вопросы по теме