Azure 搜索 SDK 创建数据源

Azure Search SDK Create DataSource

我已经通过 Azure 搜索 SDK 创建了一个数据源。

来自 Azure sql 的数据源是一个视图。

我尝试设置 DataChangeDetectionPolicy 和 DataDeletionDetectionPolicy, 但我不明白如何设置这两个 属性.

当我认为这两个 属性 在预览 sdk 上不支持时,所以我尝试使用 REST API 来解决这个问题。

我读了这篇文章: MSDN Create Data Source (Azure Search Service REST API)

并使用 Chrome 扩展 Postman 设置数据更改检测策略。

Url : https://domain.search.windows.net/datasources/temp1?api-version=2015-02-28

正文:

{ 
    "@odata.type" : "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName" : "ModifiedDatetime" 
} 

然后我收到 400 错误请求。

错误信息:

 {
   "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.IsSDK现在不支持这个功能了?

2.with 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]" 
  }
}

SDK支持创建数据源。参见 https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.search.models.datasource