использование группы потребителей eventhub по умолчанию в azure data Explorer в terraform

#azure #terraform #azure-eventhub #azure-data-explorer

#azure #terraform #azure-eventhub #azure-data-explorer

Вопрос:

Я могу использовать $Default группу потребителей в соединении с кластером azure data Explorer с панели мониторинга Azure. но когда я попытался сделать то же самое из terraform, я получаю сообщение об ошибке.

Получение данных группы потребителей по умолчанию

 data "azurerm_eventhub_consumer_group" "default" {
  name                = "$Default"
  namespace_name      = azurerm_eventhub_namespace.eh_namespace.name
  eventhub_name       = azurerm_eventhub.eh.name
  resource_group_name = var.resource_group
}
 

Пытался использовать в adx

 resource "azurerm_kusto_eventhub_data_connection" "eventhub_connection" {
  name                = var.adx_eh_connection_name
  resource_group_name = var.resource_group
  location            = data.azurerm_resource_group.eh_adx.location
  cluster_name        = azurerm_kusto_cluster.adx.name
  database_name       = azurerm_kusto_database.database.name

  eventhub_id    = azurerm_eventhub.eh.id
  consumer_group = data.azurerm_eventhub_consumer_group.default.name

  table_name        = var.adx_db_table_name
  mapping_rule_name = var.ingestion_mapping_rule_name
  data_format       = var.eh_message_format
}
 

Получение ошибки

 Error: invalid value for consumer_group (The consumer group name can contain only letters,
numbers, periods (.), hyphens (-),and underscores (_), up to 50 characters, and 
it must begin and end with a letter or number.)
  on adx.tf line 25, in resource "azurerm_kusto_eventhub_data_connection" "eventhub_connection":
  25: resource "azurerm_kusto_eventhub_data_connection" "eventhub_connection" {
 

Версии

  • Terraform: 0.14.6
  • azurerm: 2.53.0

Ответ №1:

Об этой проблеме сообщалось ранее в этом выпуске Github, но она была решена azurerm provider version 2.28.0 . Для решения, пожалуйста, используйте последнюю версию terraform и версию azurerm.

Я протестировал то же самое с Terraform версии 1.0.11 и последним поставщиком azurerm, т.е. 2.88.1.

 data "azurerm_eventhub_consumer_group" "consumer_group" {
  name                = "$Default"
  namespace_name      = azurerm_eventhub_namespace.eventhub_ns.name
  eventhub_name       = azurerm_eventhub.eventhub.name
  resource_group_name = azurerm_resource_group.rg.name
}

resource "azurerm_kusto_eventhub_data_connection" "eventhub_connection" {
  name                = "my-kusto-eventhub-data-connection"
  resource_group_name = azurerm_resource_group.rg.name
  location            = azurerm_resource_group.rg.location
  cluster_name        = azurerm_kusto_cluster.cluster.name
  database_name       = azurerm_kusto_database.database.name

  eventhub_id    = azurerm_eventhub.eventhub.id
  consumer_group = data.azurerm_eventhub_consumer_group.consumer_group.name
}
 

Вывод:

введите описание изображения здесь

Комментарии:

1. Я использую azurerm > 2.28.0. но когда я попробовал с 2.88.1, он работает. Спасибо

2. рад быть полезным @PSKP 🙂