当数据集类型为json时,Set-AzureRmDataFactoryV2Dataset中的Azure Data Factory V2错误

时间:2019-09-16 07:15:07

标签: azure powershell-2.0 azure-powershell azure-data-factory-2

当我尝试使用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"
        },

解析器中是否有错误?

2 个答案:

答案 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时,问题消失了。