此处不应出现“azure_blob_fs_location”类型的块

Posted

技术标签:

【中文标题】此处不应出现“azure_blob_fs_location”类型的块【英文标题】:Blocks of type “azure_blob_fs_location” are not expected here 【发布时间】:2021-10-26 07:11:46 【问题描述】:

我目前正在使用 Terraform 和 DevOps Pipelines 部署 Azure 数据工厂 IaC。在尝试部署新的分隔文本数据集时,我遇到了以下错误:

│错误:不支持的块类型 │ │ 在 ds_test.tf 第 7 行,资源“azurerm_data_factory_dataset_delimited_text”“test_dataset”中: │ 7: azure_blob_fs_location │ │ 这里不需要“azure_blob_fs_location”类型的块。 │ ##[error]Bash 以代码“1”退出。

这是我的 .tf 文件:

  resource "azurerm_data_factory_dataset_delimited_text" "test_dataset" 
    name                = "test_dataset"
    resource_group_name = "test-rsg"
    data_factory_name   = "test-adf"
    linked_service_name = "AzureDataLakeStorage1"

    azure_blob_fs_location 
      file_system = "csv-dump-demo"
      path = ""
      filename = "personal_customer_data.csv"
    

    column_delimiter    = ","
    row_delimiter       = "\r\n"
    encoding            = "UTF-8"
    quote_character     = "\""
    escape_character    = "\\"
    first_row_as_header = true
    null_value          = "NULL"
  

Terraform documentation for Delimited Text Dataset 指出,为了使数据集正常工作,需要定义以下位置块之一:

azure_blob_fs_location azure_blob_storage_location http_server_location

为什么 Terraform 计划告诉我它是不受支持的块类型?我错过了什么吗?

【问题讨论】:

【参考方案1】:

似乎不推荐使用 Terraform 文档,因为当我删除块并尝试再次部署数据集时,Terraform apply 给了我以下输出:

│错误:必须指定http_server_locationazure_blob_storage_location 之一才能创建DataFactory Delimited Text Dataset

在我尝试使用 azure_blob_storage_location 而不是 azure_blob_fs_location 之后,它起作用了。也许只有两个可用的位置块,并且文档不是最新的。

【讨论】:

以上是关于此处不应出现“azure_blob_fs_location”类型的块的主要内容,如果未能解决你的问题,请参考以下文章

错误:不支持的 Arg - 此处不应使用名为“”的参数

不支持的参数。此处不应使用名为“subnet_id”的参数

Eclipse打开时“发现了以元素'd:skin'”开头的无效内容。此处不应含有子元素的解决方法

替换成对出现的双引号

URL中不应出现汉字

您不应在一个对象上多次调用 Dispose(CA2202)[重复]