错误 - Azure数据工厂从SQL数据库传输到Azure搜索

时间:2017-04-17 13:18:04

标签: rest azure azure-search azure-data-factory

我已经设置了一个Azure数据工厂管道,用于将数据从SQL Server数据库中的一个表传输到我们的新Azure搜索服务。传输作业持续失败,并出现以下错误:

  

复制活动在Sink端遇到用户错误:   GatewayNodeName = SQLMAIN01,错误码= UserErrorAzuerSearchOperation,'类型= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,消息=错误   将数据写入Azure搜索索引时发生   ' 001'源= Microsoft.DataTransfer.ClientLibrary.AzureSearch,''类型= Microsoft.Rest.Azure.CloudException,消息=操作   返回了无效的状态代码   ' RequestEntityTooLarge'源= Microsoft.Azure.Search,'

根据我迄今为止所阅读的内容,Request Entity Too Large错误是REST API中发现的标准HTTP错误413。在我所做的所有研究中,没有什么能帮助我理解如何真正诊断和解决这个错误。

是否有人使用Azure的特定上下文处理此问题?我想了解如何将所有数据库数据导入Azure搜索服务。如果可以在Azure端进行调整以增加允许的请求大小,那么在我在互联网或Azure文档中看到的任何地方都无法轻易获得这样做的过程。

1 个答案:

答案 0 :(得分:1)

此错误表示Azure Search汇入Azure搜索的批量大小太大。默认批处理大小为1000个文档(行)。您可以使用Azure搜索接收器的 writeBatchSize 属性将其减小到可以平衡大小和性能的值。请参阅Copy Activity Properties文章中的Push data to an Azure Search index by using Azure Data Factory

例如,可以在接收器上配置 writeBatchSize ,如下所示:

"sink": { "type": "AzureSearchIndexSink", "writeBatchSize": 200 }