繁体   English   中英

使用 Terraform 为 Azure 数据工厂管道创建数组变量或参数

[英]Creating Array Variable or Parameters For Azure Data Factory Pipeline Using Terraform

我正在尝试使用下面的代码创建 ADF 管道。 我想在创建 ADF 管道时传递参数或变量类型。 Terraform 迫使我只创建字符串变量。

在下面的文档链接中,写着,terraform 接受参数为 map。有没有办法使用 terraform 传递参数或变量类型?

https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/data_factory_pipeline#variables

PS:我试图找到如下所示的技巧,但没有用。

resource "azurerm_data_factory_pipeline" "pl_test" {
  name                = var.name
  resource_group_name = var.resource_group_name
  data_factory_name   = var.data_factory_name
  parameters = {
            "filter_countries": "{ \"type\": \"array\", \"defaultValue\": [ \"CH\", \"DE\", \"AT\" ] }"
  }

  variables = {
            split_arr =  {
              type = "Array"
            }
        }

  activities_json = templatefile(abspath("${path.module}/templates/test_template.json"),
    {
        "test-key" = "test_param"
  })
}

似乎提供者假定variables map 中定义的任何变量都具有String类型。

您可以使用 Terraform 的jsonencode function 来编码您的数组,例如

variables = {
  "filter_countries" = jsonencode(["CH", "DE", "AT"])
}

然后你可以使用 Azure 数据工厂的json function 来解析变量,例如

@json(variables('filter_countries'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM