2017-04-17 25 views
1

私は、Azureデータファクトリパイプラインをセットアップして、SQL Serverデータベースの1つのテーブルから新しいAzure Searchサービスにデータを転送しました。転送ジョブは継続的に、次のエラーを与える失敗:エラー - AzureデータファクトリからSQLデータベースからAzure Searchへの転送

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 Searchサービスに取得する方法を知りたいと思います。 Azure側で許可されている要求サイズを増やすための調整がある場合は、インターネットやAzureのドキュメントでは、そうするためのプロセスが容易に利用できません。

+0

するために、私は、私の質問に、「緊急」または他の類似のフレーズ追加することができますどのような状況の下で、[お読みくださいより迅速な回答を得ることができますか?](https://meta.stackoverflow.com/q/326569) - これはボランティアに対処する理想的な方法ではなく、おそらく回答を得ることに非生産的なことです。これをあなたの質問に追加しないでください。 – halfer

答えて

1

このエラーは、Azure SearchシンクによってAzure Searchに書き込まれたバッチサイズが大きすぎることを意味します。デフォルトのバッチサイズは1000ドキュメント(行)です。 Azure SearchシンクのwriteBatchSizeプロパティを使用して、サイズとパフォーマンスのバランスをとる値に減らすことができます。 Push data to an Azure Search index by using Azure Data Factoryの記事のCopy Activity Propertiesを参照してください。次のように

例えば、writeBatchSizeは、シンク上で設定することができます。

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

+0

このwriteBatchSizeは、リンクサービス、入力データセット、出力データセット、またはパイプラインに追加されますか?さらに、私はAzureポータルUIの中でAdd Activityボタンを使って既存のJSONコードを追加することでこれを行うことができますか? – Stpete111

+0

@ Stpete111は、答えの例を追加しました。 –

+0

これは私の問題を解決しました。ユージネに感謝します。 – Stpete111

関連する問題