我在通过ADF
将数据从数据库推送到Azure Search Index
OnPremSql
时出现以下错误。
Copy activity encountered a user error at Sink side: ErrorCode=UserErrorAzuerSearchOperation,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Error happened when writing data to Azure Search Index 'coursemap'.,Source=Microsoft.DataTransfer.ClientLibrary.AzureSearch,''Type=Microsoft.Azure.Search.IndexBatchException,Message=1 of 1000 indexing actions in the batch failed. The remaining actions succeeded and modified the index. Check the IndexResponse property for the status of each index action.,Source=Microsoft.Azure.Search,'.
知道如何解决这个问题吗?
看起来您使用的是旧版 2.8 的数据管理网关,该网关未显示IndexBatchException
的所有可用详细信息。请考虑更新到最新版本 2.9。使用该版本,您将能够看到批处理中每个失败文档的项目级错误。
在本例中,我们查看了服务的遥测数据,错误是冲突 (409( 错误,如下所示:
Error indexing document with key '100665_1458': status 409
Error indexing document with key '100666_1255': status 409
Error indexing document with key '100665_1280': status 409
Error indexing document with key '100669_1280': status 409
Error indexing document with key '100670_1280': status 409
Error indexing document with key '100670_1280': status 409
看起来您在单个批处理中有多个具有相同文档键的文档,和/或您有多个复制活动同时将具有相同文档键的数据索引到同一索引中,这会产生这些冲突。
此外,网关版本 2.9 具有更好的重试策略,该策略应减少这些冲突错误的发生。