2

我被引导相信您可以在 Azure Blob 表源对象中使用通配符文件名属性。

我只想从与我不想处理的其他文件位于同一目录中的 blob 存储中获取某些 csv 文件:

IE

根/数据/GUJH-01.csv

根/数据/GUJH-02.csv

根/数据/DFGT-01.csv

我想处理 GUJH*.csv 而不是 DFGT-01.csv

这可能吗?如果是这样,为什么我的 blob 源验证失败,通知我文件不存在(消息报告根/数据 blob 不存在。

提前致谢。

4

2 回答 2

3

回答我自己的问题..

没有通配符,但有一个“开始于”,可以在我的场景中使用:

我可以在 folderPath 属性上执行 root/data/GUJH 而不是 root/data/GUJH*.csv,它会引入所有 root/data/GUJH 文件。

:)

于 2016-02-03T22:37:20.200 回答
0

只是在这里添加更多细节,因为我发现这是一个非常困难的学习曲线,我想为我和其他人记录这个。

在 blob 存储中给定一个像这样的示例文件(在这种情况下没有扩展名),

ZZZZ_20170727_1324

我们可以看到中间部分是 yyyyMMdd 格式。

这是上传到Landing容器内的文件夹MyContainer

这是我的数据集定义的一部分::

    "typeProperties": {
        "folderPath": "MyContainer/Landing/ZZZZ_{DayCode}",
        "format": {
            "type": "TextFormat",
            "columnDelimiter": "\u0001"
        },
        "partitionedBy": [
            {
                "name": "DayCode",
                "value": {
                    "type": "DateTime",
                    "date": "SliceStart",
                    "format": "yyyyMMdd"
                }
            }
        ]
    },

请注意,它是一个“前缀”,如果您能找到它们,您将在日志/错误消息中看到它们(祝您好运)

如果您想测试加载此特定文件,您需要按“图表”按钮,然后深入您的管道,直到找到目标数据集 - 正在加载文件的数据集(我正在将其加载到 SQL Azure 中)点击目标数据集,现在去寻找正确的时间片。就我而言,我需要找到开始时间片为 20170727的时间片并运行该时间片。

这将确保选择正确的文件并将其加载到 SQL Azure

忘记手动运行管道或活动 - 这不是它的工作方式。您需要在时间片下运行输出数据集才能将其拉出。

于 2017-07-27T03:20:43.200 回答