Я пытаюсь создать следующие ресурсы в Azure, используя Terraform и Поставщик Terraform для Azure.
- Создать учетную запись хранения для хранения больших двоичных объектов.
- Создание подписки на события, которая будет вызывать события, связанные с деятельностью больших двоичных объектов.
При запуске сценариев terraform я получаю следующую ошибку
Ошибка: Ошибка при создании / обновлении подписки на событие EventGrid «evtFileReceived» (Область »/ subscription / c17cf5ee-d3d7-4f64-b863-f2a4d6948594 / resourceGroups / dominos-doodle"): eventgrid.EventSubscriptionClient # CreateOrUpdate: Запрос статуса Status: 400: - Исходная ошибка: Code = "InvalidRequest" Message = "Указанное свойство topi c не соответствует ожидаемому topi c из области подписки на событие."
Как это исправить? , Поиск в Google не дал результатов.
Сценарий, сгенерировавший ошибку, выглядит следующим образом. Шаг, который вызвал ошибку: terraform apply
Очевидно, один из способов - использовать шаблоны ARM для достижения этой цели, но я пытаюсь выяснить, можно ли ее создать с помощью собственных скриптов Terraform. Я сослался на Terraform Docs и создал следующее.
variable "inp_resource_group_name" { }
variable "inp_geo_location" { }
variable "inp_account_name" { }
variable "inp_az_subscription_id" { }
variable "inp_resource_group_id" { }
resource "azurerm_storage_account" "cave" {
name = var.inp_account_name
resource_group_name = var.inp_resource_group_name
location = var.inp_geo_location
account_tier = "Standard"
account_replication_type = "LRS"
account_kind = "StorageV2"
}
resource "azurerm_storage_container" "validName" {
name = validName"
resource_group_name = var.inp_resource_group_name
storage_account_name = var.inp_account_name
container_access_type = "blob"
}
resource "azurerm_eventgrid_event_subscription" "evtFileReceived" {
name = "evtFileReceived"
scope = var.inp_resource_group_id
topic_name="/subscriptions/${var.inp_az_subscription_id}/resourceGroups/${var.inp_resource_group_name}/providers/Microsoft.Storage/storageAccounts/{var.inp_account_name}"
webhook_endpoint {
url = "https://myendpoint.that.works.well.across.all.osi.layers"
}
}