我已通过 Azure 搜索 SDK 创建了一个数据源。
来自 Azure sql 的数据源,它是一个 View 。
我尝试设置 DataChangeDetectionPolicy 和 DataDeletionDetectionPolicy, 但我不明白如何设置这两个属性。
当我认为预览版 sdk 不支持这两个属性时,我尝试使用 REST API 来解决这个问题。
我读过这篇文章: MSDN Create Data Source (Azure Search Service REST API)
并使用 Chrome 扩展 Postman 设置数据更改检测策略。
网址:https://domain.search.windows.net/datasources/temp1?api-version=2015-02-28
正文:
{
"@odata.type" : "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName" : "ModifiedDatetime"
}
然后我收到 400 bad request 。
错误信息:
{
"error":
{
"code": "",
"message": "The request is invalid. Details: dataSource : Incompatible type kinds were found. The type 'Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy' was found to be of kind 'Complex' instead of the expected kind 'Entity'.\r\n"
}
}
所以,我有两个问题。
1.现在的SDK不支持这个功能吗?
2.使用REST API,出现错误如何解决?
感谢回复。
最佳答案
基于official article ,为Views创建SQL集成数据源的方法是:
{
"name" : "myazuresqldatasource",
"type" : "azuresql",
"credentials" : { "connectionString" : "connection string" },
"container" : { "name" : "table or view name" },
"dataChangeDetectionPolicy" : {
"@odata.type" : "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName" : "[a row version or last_updated column name]"
}
}
关于c# - Azure 搜索 SDK 创建数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914467/