如何通过Terraform将Azure Log Analytics查询保存至自定义Query Pack?
问题解答
目前AzureRM Terraform Provider已提供专门资源用于将查询保存至自定义Log Analytics Query Pack,即azurerm_log_analytics_query_pack_query,无需依赖Azure CLI作为替代方案。
示例代码修改
将原有的旧版azurerm_log_analytics_saved_search资源替换为针对Query Pack的专属资源,示例如下:
# 创建资源组 resource "azurerm_resource_group" "example" { name = "query-pack-tf" location = "westeurope" } # 创建Log Analytics工作区 resource "azurerm_log_analytics_workspace" "example" { name = "workspace-01" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name } # 创建Query Pack resource "azurerm_log_analytics_query_pack" "default" { name = "pack-test" resource_group_name = azurerm_resource_group.example.name location = "westeurope" } # 将查询保存到自定义Query Pack resource "azurerm_log_analytics_query_pack_query" "example" { name = "example-query" query_pack_id = azurerm_log_analytics_query_pack.default.id display_name = "Example Query" query = <<QUERY // 你的查询逻辑写在这里 // 示例: AzureDiagnostics QUERY category = "Custom Logs" description = "示例查询,保存至自定义Query Pack" // 可选描述字段 }
注意事项
- 需确保使用的AzureRM Terraform Provider版本不低于v3.10.0(该资源在此版本中引入),若版本过低需先升级provider:
terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = ">= 3.10.0" } } } - 该资源直接关联自定义Query Pack,不会触发默认查询包的创建,可规避资源组强制标签策略导致的创建失败问题。
内容的提问来源于stack exchange,提问作者Roelof
相关产品推荐
相关产品推荐

