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