繁体   English   中英

将 JSON 映射到 SQL 的 Azure 数据工厂复制活动错误

[英]Azure Data Factory Copy Activity error mapping JSON to SQL

我有一个 Azure 数据工厂复制活动,它使用 REST 请求将弹性搜索作为源,并尝试将响应映射到 SQL 表作为接收器。 一切正常,除非它尝试映射包含动态 JSON 的data字段。 我收到以下错误:

{ "errorCode": "2200", "message": "ErrorCode=UserErrorUnsupportedHierarchicalComplexValue,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=检索到的数据类型 JObject,值为 {\\"name\\":\\"尚不支持部门\\"},请删除目标列或启用跳过不兼容的行以跳过它们。,Source=Microsoft.DataTransfer.Common,'", "failureType": "UserError", "target": "CopyContents_Paged “, “细节”: [] }

这是我的映射配置示例:

    "type": "TabularTranslator",
    "mappings": [
        {
            "source": {
                "path": "['_source']['id']"
            },
            "sink": {
                "name": "ContentItemId",
                "type": "String"
            }
        },
        {
            "source": {
                "path": "['_source']['status']"
            },
            "sink": {
                "name": "Status",
                "type": "Int32"
            }
        },
        {
            "source": {
                "path": "['_source']['data']"
            },
            "sink": {
                "name": "Data",
                "type": "String"
            }
        }
    ],
    "collectionReference": "$['hits']['hits']"
}

data对象中的 JSON 是动态的,因此我无法对其中的嵌套字段进行显式映射。 这就是为什么我试图将整个 JSON 对象data在 SQL 表的列中的data下。

如何调整我的映射配置以使其正常工作?

我在 MSDN 论坛上发布了这个问题,有人告诉我,如果您使用的是表格接收器,您可以设置此选项"mapComplexValuesToString": true并且它应该允许正确映射复杂的 JSON 属性。 这解决了我的 ADF 复制活动问题。

几天前我遇到了同样的问题。 您需要将 JSON 对象转换为 Json 字符串。 它将解决您的映射问题(UserErrorUnsupportedHierarchicalComplexValue)。

试试看,告诉我是否也能解决你的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM