azure - Terraform 模块 azure 事件订阅可选字段
问题描述
我正在尝试使用 terraform 模块来创建指向存储队列的事件订阅作为它的端点。
下面是模块
resource "azurerm_eventgrid_event_subscription" "events" {
name = var.name
scope = var.scope
subject_filter = var.subject_filter
storage_queue_endpoint = var.storage_queue_endpoint
}
地形是
module "storage_account__event_subscription" {
source = "../modules/event"
name = "testevent"
scope = test
subject_filter = {
subject_begins_with = "/blobServices/default/containers/test/blobs/in"
}
storage_queue_endpoint = {
storage_account_id = test
queue_name = test
}
}
错误信息:
: subject_filter { 这里不需要“subject_filter”类型的块。错误:模块“storage_account__event_subscription”中的 azure.tf 第 90 行不支持的块类型:: storage_queue_endpoint { 此处不应出现“storage_queue_endpoint”类型的块。
如何在 terraform 模块中正确解析可选字段?
解决方案
在你的模块中:
resource "azurerm_eventgrid_event_subscription" "events" {
name = var.name
scope = var.scope
subject_filter = {
subject_begins_with = var.subject_begins_with
}
storage_queue_endpoint = var.storage_queue_endpoint
}
此处的格式已关闭,因此请确保运行terraform fmt
以解决我的格式不佳的问题。还将变量添加到variables.tf
文件中。
您的 Terraform 文件:
module "storage_account__event_subscription" {
source = "../modules/event"
name = "testevent"
scope = test
subject_begins_with = "/blobServices/default/containers/test/blobs/in"
storage_queue_endpoint = {
storage_account_id = test
queue_name = test
}
}
您在模块中创建完整的结构,然后在 terraform 文件中分配变量。
任何具有相同或通常相同的值的东西都可以在其中设置默认值,variables.tf
以便您在 TF 文件中获得更小的块。
推荐阅读
- c - 返回字符串指针在C中得到错误的字符串
- python - Django选择和删除帖子
- spring-batch - 读取平面文件时,多线程步骤如何在内部工作?
- html - 如何根据屏幕大小断点更改边距大小?
- azure-synapse - 何时使用多个 azure synapse 工作区?
- c# - GraphQL:乘以输入突变
- amazon-web-services - 将 http 标头添加到 AWS Elastic Beanstalk
- python - 在硒中。如何使用 Span 类单击第二个索引/列表?
- python - 火炬张量添加维度
- mysql - 仅当值与多个其他值的 100% 匹配时才获取数据 SQL