c# - Azure 搜索 SDK 创建数据源

标签 c# azure azure-cognitive-search

我已通过 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/

相关文章:

Azure 搜索索引 - 访问搜索资源管理器中无法检索的字段

Azure Qna Maker 多种语言

c# - MVC - 如何在 Html.ActionLink 中动态设置@class

c# - 如何更快地加载多个网格

azure - Azure.Messaging.ServiceBus.ServiceBusClient 的连接字符串

c# - 如何正确使用 Azure.AI.OpenAI.OpenAIClient.GetChatCompletionsStreamingAsync 方法

c# - 过滤用户列表 asp.net 身份

c# - 为什么 Redis 连接可以在 C# 中工作而无需指定凭据?

c# - 应用程序见解和标签

Azure函数: Inherit HttpTrigger functions/routes from base class