Azure Search SDK创建DataSource

时间:2016-01-21 02:41:30

标签: c# azure azure-search

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

Azure sql中的数据源,它是一个视图。

我要设置DataChangeDetectionPolicy和DataDeletionDetectionPolicy, 但我无法理解如何设置这两个属性。

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

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

使用Chrome Extension Postman设置数据更改检测策略。

网址: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. SDK是不支持此功能的?

2.使用REST API,如何解决错误?

感谢您的回复。

2 个答案:

答案 0 :(得分:2)

基于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]" 
  }
}

答案 1 :(得分:0)

SDK确实支持创建数据源。见enter image description here