azure 我必须将ADLS文件夹中的所有文件名写入csv文件,但成功通过管道后,运行数据未反映到目标csv文件中

8yparm6h  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(121)

让我们假设有12个文件夹在我的容器,所以我必须复制文件夹名称到一个csv文件。
1.在第一步中,我使用getmetadata活动从容器

中获取文件夹名称
1.在第二步中,我使用了一个Foreach活动,并将@activity('Get Metadata1'). output. childItems作为项目a)在foreach中,我使用了append variable活动,并将item(). name附加到一个变量文件名中,如屏幕截图所示。因此,filename variable是数组类型,用于在Container.

中存储文件夹名称数组
1.在第三步中,我使用了一个复制活动,它将复制文件夹名称从文件名变量在附加活动,并将数据存储到一个接收器(csv文件).

a)源数据集是虚拟csv文件

b)然后检查Map

    • 错误**

在此之后,当我调试管道时,我无法看到存储位置上的任何文件夹名称

qybjjes1

qybjjes11#

您必须在源数据集中取消选择first row as header选项。同时将引号字符和转义字符更改为无。数据将成功写入接收文件,如下所示。

但是,如果要将所有文件名写入单个列,可以改用以下过程:

  • 我的源代码中有以下文件夹:

  • 在虚拟源文件中,我有如下数据:

  • 下面是源数据集JSON:
{
    "name": "source1",
    "properties": {
        "linkedServiceName": {
            "referenceName": "adls",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "DelimitedText",
        "typeProperties": {
            "location": {
                "type": "AzureBlobFSLocation",
                "fileSystem": "data"
            },
            "columnDelimiter": ",",
            "escapeChar": "\\",
            "firstRowAsHeader": true,
            "quoteChar": "\""
        },
        "schema": [
            {
                "type": "String"
            }
        ]
    },
    "type": "Microsoft.DataFactory/factories/datasets"
}
  • 现在,在使用append variable activity获取单个数组中的所有文件夹名称之后,在新列folder_names中使用以下动态内容。
@join(variables('req'),decodeUriComponent('%0D%0A'))

  • 下面是接收数据集JSON:
{
    "name": "output",
    "properties": {
        "linkedServiceName": {
            "referenceName": "adls",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "DelimitedText",
        "typeProperties": {
            "location": {
                "type": "AzureBlobFSLocation",
                "fileName": "op.csv",
                "fileSystem": "output"
            },
            "columnDelimiter": ",",
            "escapeChar": "",
            "firstRowAsHeader": true,
            "quoteChar": ""
        },
        "schema": []
    }
}
  • 当我运行管道时,我将获得如下数据:

相关问题