Как создать триггер eventarc в terraform для GCS?

Я хотел бы создать триггер eventarc для создания объекта GCS. Согласно документации Eventarc, для этого следует использовать прямой триггер GCS. Я могу создать его так, но я не знаю, где указать имя корзины:

resource "google_eventarc_trigger" "upload" {
  name     = "upload"
  location = "europe-west1"
  matching_criteria {
    attribute = "type"
    value     = "google.cloud.storage.object.v1.finalized"
  }
  destination {
    workflow = google_workflows_workflow.process_file.id
  }
  service_account = google_service_account.workflow.email
}

Когда я запускаю этот пример, я получаю следующую ошибку:

Error: Error creating Trigger: googleapi: Error 400: The request was invalid: The request was invalid: missing required attribute "bucket" in trigger.event_filters

Что такое полное сообщение об ошибке, показывающее строку, в которой происходит сбой?

Marcin 10.05.2022 01:53
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
1
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Чтение документация не помогло, но после многократного прочтения сообщения в блоге Создание триггеров Eventarc с помощью Terraform я нашел ответ. bucket может быть представлен как еще один блок matching_criteria следующим образом:

resource "google_eventarc_trigger" "upload" {
  name     = "upload"
  location = "europe-west1"
  matching_criteria {
    attribute = "type"
    value     = "google.cloud.storage.object.v1.finalized"
  }
  matching_criteria {
    attribute = "bucket"
    value     = google_storage_bucket.uploads.name
  }
  destination {
    workflow = google_workflows_workflow.process_file.id
  }
  service_account = google_service_account.workflow.email
}

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