数据工厂azure blob源 - 通配符

时间:2016-01-29 20:04:20

标签: csv azure azure-storage-blobs cortana-intelligence azure-data-factory

我被认为您可以在Azure Blob表源对象中使用通配符filename属性。

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

即。

根/数据/ GUJH-01.csv

根/数据/ GUJH-02.csv

根/数据/ DFGT-01.csv

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

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

提前致谢。

2 个答案:

答案 0 :(得分:3)

回答我自己的问题..

没有通配符,但有一个'Starts With'可以在我的场景中使用:

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

:)

答案 1 :(得分: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

忘记手动运行管道或活动 - 这不是它的工作原理。您需要在时间片下运行输出数据集以完成它。