Каталог данных: ошибка при обновлении тега — Ошибка 400: неподдерживаемый путь к маске поля: «столбец», поддерживаемые маски полей: поля

#google-cloud-platform #terraform #terraform-provider-gcp #google-data-catalog

#google-cloud-platform #terraform #terraform-provider-gcp #google-data-catalog

Вопрос:

Я прикрепляю шаблон тега к столбцу таблицы BigQuery. Для этого я использую Terraform, и я только что воссоздал код в документации terraform.

 resource "google_data_catalog_entry" "entry" {
  entry_group = google_data_catalog_entry_group.entry_group.id
  entry_id = "my_entry"

  user_specified_type = "my_custom_type"
  user_specified_system = "SomethingExternal"

  schema = <<EOF
{
  "columns": [...]
}
EOF
}

resource "google_data_catalog_entry_group" "entry_group" {
  entry_group_id = "my_entry_group"
}

resource "google_data_catalog_tag_template" "tag_template" {
  tag_template_id = "my_template"
  region = "us-central1"
  display_name = "Demo Tag Template"

  fields {
    field_id = "source"
    display_name = "Source of data asset"
    type {
      primitive_type = "STRING"
    }
    is_required = true
  }
  force_delete = "true"
}

resource "google_data_catalog_tag" "basic_tag" {
  parent   = google_data_catalog_entry.entry.id
  template = google_data_catalog_tag_template.tag_template.id

  fields {
    field_name   = "source"
    string_value = "my-string"
  }
  column = "address"
}

 

Документы: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/data_catalog_tag

К сожалению, каждый раз, когда я дважды запускаю «terraform apply», я получаю следующую ошибку API:

 Error: Error updating Tag "projects/xxxx/locations/europe-west2/entryGroups/xxxx/entries/xxxx/tags/xxx": googleapi: Error 400: Unsupported field mask path: "column", supported field masks are:
fields
 

Похоже, что Terraform недоволен, когда я создаю этот ресурс дважды.
Чтобы избежать этого, я использовал:

   count    = local.created_tag ? 1 : 0
 

Но мне интересно, что может быть причиной и есть ли лучший способ решить проблему.

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

1. Ошибка возвращается API каталога данных, и это связано с тем, что метод ИСПРАВЛЕНИЯ тега entryGroup позволяет обновлять только fields поле. Похоже, что Terraform обновляет тег вместо удаления и создания нового. Итак, со стороны каталога данных я бы посоветовал вам открыть здесь запрос функции с просьбой разрешить команде обновлять дополнительные поля, такие как столбец или любые другие поля, которые вам нужны.

2. Большое спасибо @Tlaquetzal, очень полезно. Я запрошу это

3. Я сталкиваюсь с той же проблемой, есть какие-либо обновления по этой проблеме?

4. Он все еще находится на рассмотрении. Команда каталога данных получила запрос и будет его анализировать. Я обновлю сообщение, если возникнет какое-либо решение. Номер IssueTracker: 180021381