使用 V2,我试图找出 Azure blob 存储中是否存在文件夹(我知道"文件夹"是一个伪名称,因为它只是文件 url 的一部分(。当我尝试执行此操作时,无论文件夹是否存在,它始终返回 true。
下面是一个示例,它应该返回 false,但返回 true。文件夹路径"test/2018/5/25"不存在,但"获取元数据"返回"存在:true,itemName:25"。存在其他文件夹路径,例如"test/2018/5/24",但不是以 25 结尾的路径,因为没有第 25 个的数据。
有什么想法吗?
管道
{
"name": "Testing",
"properties": {
"activities": [
{
"name": "Get Metadata1",
"type": "GetMetadata",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"dataset": {
"referenceName": "metdatatest",
"type": "DatasetReference"
},
"fieldList": [
"itemName",
"exists"
]
}
}
]
}
}
数据
{
"name": "metdatatest",
"properties": {
"linkedServiceName": {
"referenceName": "xxx",
"type": "LinkedServiceReference"
},
"type": "AzureBlob",
"typeProperties": {
"format": {
"type": "TextFormat",
"columnDelimiter": "t",
"nullValue": "\N",
"treatEmptyAsNull": true,
"skipLineCount": 1,
"firstRowAsHeader": false
},
"fileName": "",
"folderPath": "test/2018/5/25"
}
}
}
我可以重现相同的内容,这是一个错误。它当前返回其容器是否存在,但没有检查此"虚拟"文件夹是否存在。
由于 blob 没有文件夹概念,因此为了知道此类文件夹是否存在,它需要执行文件搜索以检查此文件夹下是否有任何文件,这可能会导致性能问题。我将回到 PROD 团队。敬请期待...