为什么可以';Azure搜索导入JSON blob?

为什么可以';Azure搜索导入JSON blob?,azure,azure-cognitive-search,Azure,Azure Cognitive Search,使用以下配置导入数据时,Azure认知搜索返回以下错误: 从数据源检测索引架构时出错:“” 这是否配置不正确?这些文件存储在容器“example1”和blob文件夹“json”中。过去用相同的数据创建相同的索引时没有错误,所以我不知道为什么现在不同了 导入数据: 数据源:Azure Blob存储 名称:测试示例 要提取的数据:内容和元数据 解析模式:JSON 连接字符串: DefaultEndpointsProtocol=https;AccountName=EXAMPLESTORAGEACCOU

使用以下配置导入数据时,Azure认知搜索返回以下错误:

从数据源检测索引架构时出错:“”

这是否配置不正确?这些文件存储在容器“example1”和blob文件夹“json”中。过去用相同的数据创建相同的索引时没有错误,所以我不知道为什么现在不同了

导入数据: 数据源:Azure Blob存储
名称:测试示例
要提取的数据:内容和元数据
解析模式:JSON
连接字符串
DefaultEndpointsProtocol=https;AccountName=EXAMPLESTORAGEACCOUNT;AccountKey=示例AccountKey
容器名称:示例1
Blob文件夹:json

.json文件结构。 以下是单击“下一步:添加认知技能(可选)”按钮时出现错误的屏幕图像:

在我看来,这是一个与list1数据类型相关的问题。确保在索引创建期间为其选择了“Collection(Edm.String)”


更多信息,请查看以下链接的第5步:

我一直与Microsoft联系,这是Azure门户中的一个错误。问题是连接字符串向导没有正确附加端点后缀。他们建议手动粘贴连接字符串,但这对我仍然不起作用。这是微软建议的答案,但我不认为完全正确,因为门户会输出相同的错误消息:

从数据源检测索引架构时出错:“”


要澄清以下两个问题:

1) 门户中存在一个错误,实际的错误消息没有显示错误,因此我们观察到无效的空字符串“”作为错误消息。修复工作正在进行中,应该在下周初推出

2) 门户尝试从数据源检测索引架构时出错。当错误消息仅为“”时,很难说问题出在哪里。我已经尝试了您的示例数据,它可以很好地导入

一旦显示错误消息的修复程序完成,我将更新帖子。同时(同样,我们在这里盲目飞行,没有具体的错误字符串),这里有一些东西需要检查:

1) 确保防火墙规则允许门户从blob存储中读取

2) 确保JSON文件中没有多余的字符。检查空格字符是否为空格(您应该能够在VSCode中打开文件并进行检查)


更新:已部署丢失错误消息的门户修复程序。如果在导入过程中发生错误,您应该能够看到更具体的错误消息。

这是在我可以进入屏幕创建索引之前。这是选择“导入数据”后的第一个屏幕,单击“添加认知服务”时显示错误。基本上是“下一步”按钮。如果您提供“新数据源”步骤的屏幕截图,效果会更好。屏幕截图已添加到问题的底部。尝试从blob文件夹字段中删除json也这样做了。我想知道JSON是否有问题?如果我将解析模式更改为“文本”,它将工作。但它应该像以前一样使用JSON。看起来连接字符串可能有问题。错误消息中的数据源名称可能为空。我使用“选择现有连接”向导选择存储帐户和容器名称。请参阅“Connection string”字段下提供的图片中的蓝色链接。我只是使用了与您相同的JSON完成了完全相同的步骤,并且没有出现任何问题,因此JSON不是问题所在。问题可能与搜索服务和存储服务之间的连接有关。我的连接字符串是“DefaultEndpointsProtocol=https;AccountName=REDACTED;AccountKey=REDACTED==;EndpointSuffix=REDACTED.windows.net”。您可能还想检查资源组、访问控制等。如果您想与我的设置进行比较,请告诉我。FWIW,是的,我昨天尝试重新设置时确实复制粘贴了查询字符串。我遇到了同样的问题,也向他们报告了这一问题。应该会有一个固定的方式。。。
{
  "string1": "vaule1",
  "string2": "vaule2",
  "string3": "vaule3",
  "string4": "vaule4",
  "string5": "vaule5",
  "string6": "vaule6",
  "string7": "vaule7",
  "string8": "vaule8",
  "list1": [
    {
      "nested1": "value1",
      "nested2": "value2",
      "nested3": "value3",
      "nested4": "value4"
    }
  ],
  "FileLocation": null
}