我被引导相信您可以在 Azure Blob 表源对象中使用通配符文件名属性。
我只想从与我不想处理的其他文件位于同一目录中的 blob 存储中获取某些 csv 文件:
IE
根/数据/GUJH-01.csv
根/数据/GUJH-02.csv
根/数据/DFGT-01.csv
我想处理 GUJH*.csv 而不是 DFGT-01.csv
这可能吗?如果是这样,为什么我的 blob 源验证失败,通知我文件不存在(消息报告根/数据 blob 不存在。
提前致谢。
我被引导相信您可以在 Azure Blob 表源对象中使用通配符文件名属性。
我只想从与我不想处理的其他文件位于同一目录中的 blob 存储中获取某些 csv 文件:
IE
根/数据/GUJH-01.csv
根/数据/GUJH-02.csv
根/数据/DFGT-01.csv
我想处理 GUJH*.csv 而不是 DFGT-01.csv
这可能吗?如果是这样,为什么我的 blob 源验证失败,通知我文件不存在(消息报告根/数据 blob 不存在。
提前致谢。
回答我自己的问题..
没有通配符,但有一个“开始于”,可以在我的场景中使用:
我可以在 folderPath 属性上执行 root/data/GUJH 而不是 root/data/GUJH*.csv,它会引入所有 root/data/GUJH 文件。
:)
只是在这里添加更多细节,因为我发现这是一个非常困难的学习曲线,我想为我和其他人记录这个。
在 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
忘记手动运行管道或活动 - 这不是它的工作方式。您需要在时间片下运行输出数据集才能将其拉出。