2017-04-17 85 views
1

我已經設置了一個Azure數據工廠管道來將數據從我們的SQL Server數據庫中的一個表傳輸到我們的新Azure搜索服務。轉移工作連續失敗給了以下錯誤:錯誤 - 從SQL數據庫到Azure搜索的Azure數據工廠傳輸

Copy activity encountered a user error at Sink side: GatewayNodeName=SQLMAIN01,ErrorCode=UserErrorAzuerSearchOperation,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Error happened when writing data to Azure Search Index '001'.,Source=Microsoft.DataTransfer.ClientLibrary.AzureSearch,''Type=Microsoft.Rest.Azure.CloudException,Message=Operation returned an invalid status code 'RequestEntityTooLarge',Source=Microsoft.Azure.Search,'.

從我迄今閱讀,請求實體過大的誤差是REST API裏面發現了一個標準的HTTP錯誤413。在我所做的所有研究中,沒有任何東西能幫助我理解如何真正診斷和解決這個錯誤。

有沒有人用Azure的特定上下文處理過這個問題?我想知道如何將我們所有的數據庫數據都放到我們的Azure搜索服務中。如果可以在Azure方面進行調整以增加允許的請求大小,那麼在Internet上或Azure文檔中所看到的任何地方都無法輕鬆實現此過程。

+0

請仔細閱讀[在什麼情況下我想補充「緊急」或其他類似的短語我的問題,爲了獲得更快的答案?](https://meta.stackoverflow.com/q/326569) - 總結是,這不是解決志願者的理想方式,並且可能會對獲得答案起反作用。請不要將這添加到您的問題。 – halfer

回答

1

此錯誤表示由Azure搜索寫入Azure搜索的批量大小過大。默認的批量大小是1000個文檔(行)。您可以通過使用Azure搜索接收器的writeBatchSize屬性將其減小到平衡大小和性能的值。請參閱Copy Activity PropertiesPush data to an Azure Search index by using Azure Data Factory文章。

例如,writeBatchSize可以在水槽配置如下:

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

+0

是否將此writeBatchSize添加到鏈接服務,輸入數據集,輸出數據集或管道?此外,我是否可以通過使用「添加活動」按鈕並添加到現有的JSON代碼來從Azure門戶UI中執行此操作? – Stpete111

+0

@ Stpete111,爲答案增加了一個例子。 –

+0

這解決了我的問題。非常感謝尤金。 – Stpete111

相關問題