Azure 搜索索引的 OData API 不返回元数据
OData API for a Azure search index not returning metadata
我们的 Azure 搜索索引的 OData API 有问题,它不是 returning 元数据。我们能够执行基于 OData 的查询,但无法访问元数据
我们的预期是 Odata 终点
https://search-service-name.search.windows.net/indexes/index-name?api-version=2019-05-06&api-key=XXXXXXXXXXX&odata.metadata=full
应该return元数据。
我们尝试过的其他终点
https://search-service-name.search.windows.net/indexes('index-name')/$metadata?api-version=2019-05-06&api-key=XXXXXXXX&odata.metadata=full
如果我们使用设置的 api-key 进行查询,我们会得到错误
{
"error":{
"code": "",
"message": "Authorization failed."
}
}
使用管理员密钥作为 api 密钥,错误 returned 是
{
"Message": "The given API key is not permitted in the URI query string."
}
有没有其他人能够使用 Azure 搜索索引获得完整的 OData API?
谢谢
odata.metadata=full
和 api-key
都需要作为 HTTP header 传递,而不是 query-string 参数。 api-key
是它自己的 header,而 odata.metadata=full
是一个参数,应该是 Accept
header 的一部分,像这样:application/json;odata.metadata=full
.
也就是说,除非您尝试将 Azure 搜索与无法更改代码的 OData-enabled 客户端一起使用,否则您不需要完整的 OData 元数据。您最多需要 odata.metadata=minimal
为使用继承的 REST API 部分包含类型注释(例如,在配置分析器、技能或索引器的 change/deletion 检测策略时)。
我们的 Azure 搜索索引的 OData API 有问题,它不是 returning 元数据。我们能够执行基于 OData 的查询,但无法访问元数据
我们的预期是 Odata 终点
https://search-service-name.search.windows.net/indexes/index-name?api-version=2019-05-06&api-key=XXXXXXXXXXX&odata.metadata=full
应该return元数据。 我们尝试过的其他终点
https://search-service-name.search.windows.net/indexes('index-name')/$metadata?api-version=2019-05-06&api-key=XXXXXXXX&odata.metadata=full
如果我们使用设置的 api-key 进行查询,我们会得到错误
{
"error":{
"code": "",
"message": "Authorization failed."
}
}
使用管理员密钥作为 api 密钥,错误 returned 是 { "Message": "The given API key is not permitted in the URI query string." }
有没有其他人能够使用 Azure 搜索索引获得完整的 OData API?
谢谢
odata.metadata=full
和 api-key
都需要作为 HTTP header 传递,而不是 query-string 参数。 api-key
是它自己的 header,而 odata.metadata=full
是一个参数,应该是 Accept
header 的一部分,像这样:application/json;odata.metadata=full
.
也就是说,除非您尝试将 Azure 搜索与无法更改代码的 OData-enabled 客户端一起使用,否则您不需要完整的 OData 元数据。您最多需要 odata.metadata=minimal
为使用继承的 REST API 部分包含类型注释(例如,在配置分析器、技能或索引器的 change/deletion 检测策略时)。