当我尝试使用Set-AzureRmDataFactoryV2Dataset并且由于某种原因,传入文件中的数据集类型为“ Json”时,由于ADFV2代码已更改,所以type =“ Dataset”,并且ADFV2表示文件已损坏。
这是ADFV2的最终结果:
"properties": {
"type": "Dataset",
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileName": "somefile",
"folderPath": "folder/files",
"fileSystem": "source-data"
},
如果我将ADFV2值“ Dataset”中的文件修改回“ Json”,则它不再损坏。见上文。
"properties": {
"type": "Json",
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileName": "somefile",
"folderPath": "folder/files",
"fileSystem": "source-data"
},
解析器中是否有错误?
答案 0 :(得分:1)
数据集json中的类型告诉数据工厂您正在访问哪种存储。看来您正在尝试访问Blob存储或数据湖v2。在这种情况下,必须将type属性设置为:
AzureBlobStorageLocation,如果它是一个blob存储区,如此处所示:https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-blob-storage#dataset-properties
AzureBlobFSLocation,如果它是一个湖v2,如此处所示:https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-data-lake-storage#dataset-properties
如果您在这些链接中向下滚动一点,也可以查看示例json。
希望这对您有帮助!
答案 1 :(得分:0)
万一其他人遇到此问题,我可以确认这是Az / AzureRM PowerShell模块中的错误,该问题似乎已从Az版本2.5.0(至少可能更早)中得到修复。
尝试定义类型为“二进制”的数据集时遇到了同样的问题。我提供的JSON正确无误,但实际创建时的类型为“数据集”。当我玩耍时,我意识到这仅发生在运行Az模块版本2.1.0的Windows VM上。在具有Az版本2.5.0的Linux操作系统上运行正常。将Windows VM更新到2.6.0时,问题消失了。