你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
(Azure AI 搜索 REST API) 获取索引器状态
获取索引器状态操作检索索引器的当前状态和执行历史记录:
GET https://[service name].search.windows.net/indexers/[indexer name]/status?api-version=[api-version]&failIfCannotDecrypt=[true|false]
Content-Type: application/json
api-key: [admin key]
URI 参数
参数 | 说明 |
---|---|
服务名称 | 必需。 将其设置为搜索服务的唯一用户定义名称。 |
索引器名称 | 必需。 请求 URI 指定应为其返回状态的索引器的名称。 |
api-version | 必需。 当前稳定版本为 api-version=2020-06-30 。 有关更多 版本,请参阅 API 版本。 |
failIfCannotDecrypt | 可选,如果未指定,则默认为 true。 如果索引器是使用 加密密钥 创建的,并且搜索服务无权访问加密密钥,则检索索引器状态会失败。 如果为 false,则返回的索引器状态已将加密属性替换为 "<encrypted>" 占位符。 |
请求标头
下表介绍必需和可选的请求标头。
字段 | 说明 |
---|---|
Content-Type | 必需。 将其设置为 application/json |
api-key | 如果使用的是 Azure 角色 ,并且请求中提供了持有者令牌,则为可选,否则需要密钥。 api-key 是系统生成的唯一字符串,用于对搜索服务的请求进行身份验证。 获取对象定义的请求必须包含设置为管理密钥 (而不是查询密钥) 的 api 密钥字段。 有关详细信息 ,请参阅使用密钥身份验证连接到 Azure AI 搜索 。 |
请求正文
无。
响应
对于成功的响应,返回“状态代码:200 正常”。 响应正文包含有关总体索引器运行状况、上次索引器调用的信息,以及最近 (索引器调用的历史记录(如果存在) )。
示例响应正文如下所示:
{
"status" : "running",
"lastResult" : {
"status" : "success",
"errorMessage" : null,
"startTime" : "2014-11-26T03:37:18.853Z",
"endTime" : "2014-11-26T03:37:19.012Z",
"errors" : [],
"warnings" : [],
"itemsProcessed" : 11,
"itemsFailed" : 0,
"initialTrackingState" : null,
"finalTrackingState" : null
},
"executionHistory" : [
{
"status" : "success",
"errorMessage" : null,
"startTime" : "2014-11-26T03:37:18.853Z",
"endTime" : "2014-11-26T03:37:19.012Z",
"errors" : [],
"warnings" : [],
"itemsProcessed" : 11,
"itemsFailed" : 0,
"initialTrackingState" : null,
"finalTrackingState" : null
},
{
"status" : "transientFailure",
"errorMessage" : null,
"startTime" : "2014-11-26T03:28:10.125Z",
"endTime" : "2014-11-26T03:28:12.007Z",
"errors" : [
{
"key" : "",
"name" : "The operation name describing where the error occurred. For example, 'Enrichment.LanguageDetectionSkill.SkillName'",
"errorMessage" : "Document key cannot be missing or empty.",
"statusCode" : 400,
"details" : "Any additional details, such as the WebApi response if executing a custom skill failed.",
"documentationLink" : "A link to relevant documentation. For example, 'https://go.microsoft.com/fwlink/?linkid=2099692'""
}
],
"warnings" : [
{
"key" : "document id",
"name" : "The operation name describing where the warning occurred. For example, 'Enrichment.LanguageDetectionSkill.SkillName'",
"message" : "A warning doesn't stop indexing, and is intended to inform you of certain interesting situations, like when a blob indexer truncates the amount of text extracted from a blob."
"details" : "Any additional details, such as the WebApi response if executing a custom skill failed.",
"documentationLink" : "A link to relevant documentation. For example, 'https://go.microsoft.com/fwlink/?linkid=2099692'"
}
],
"itemsProcessed" : 1,
"itemsFailed" : 1,
"initialTrackingState" : null,
"finalTrackingState" : null
}
]
}
注意
如果索引器是使用 加密密钥创建的,则只有在搜索服务有权访问加密密钥时,才能检索状态的加密属性。 如果搜索服务无权访问加密密钥,则默认返回 400 错误请求。 指定 failIfCannotDecrypt=false
以使用占位符替换加密属性来检索状态 "<encrypted>"
。
索引器状态
索引器状态可以是以下值之一:
running 指示索引器正常运行。 某些索引器执行可能仍然失败,因此最好也检查 lastResult 属性。
error 指示索引器遇到在没有人工干预的情况下无法更正的错误。 例如,数据源凭据可能已过期,或者数据源或目标索引的架构已发生重大更改。
索引器执行结果
索引器执行结果包含有关单个索引器执行的信息。 最新结果显示为索引器状态的 lastResult 属性。 其他最近的结果(如果存在)作为索引器状态的 executionHistory 属性返回。
索引器执行结果包含以下属性:
status:执行的状态。 有关详细信息,请参阅下面的 索引器执行状态 。
errorMessage:执行失败的错误消息。
startTime:开始执行的时间(UTC)。
endTime:此执行结束的 UTC 时间。 如果执行仍在进行中,则不会设置此值。
errors:项级错误的列表(如果有)。 有关示例,请参阅上面的示例响应。 从 API 版本
2020-06-30
开始,列表中的每个错误将不再包含 ,"status"
因为对于项级错误,它始终为 false。 从 API 版本2020-06-30
开始,列表中的每个错误都包含新属性"name"
、"details"
和"documentationLink"
。warnings:项级警告的列表(如果有)。 有关示例,请参阅上面的示例响应。 从 API 版本
2020-06-30
开始,列表中的每个警告都包含新属性"name"
、"details"
和"documentationLink"
。itemsProcessed: () 索引器在此执行过程中尝试编制索引的表行数。
itemsFailed:执行期间失败的项目数。 该错误提供了失败的项的 ID。
initialTrackingState:对于第一次执行索引器,始终 为 null ;如果未对所使用的数据源启用数据更改跟踪策略,则始终为 null。 如果启用了此类策略,在后续执行中,该值将指示此执行处理的第一个(最低)更改跟踪值。
finalTrackingState:如果未对所使用的数据源启用数据更改跟踪策略,则始终 为 null 。 否则,指示此执行成功处理的最新(最高)更改跟踪值。
索引器执行状态
索引器执行状态捕获单个索引器执行的状态。 该选项可具有以下值:
success 表示索引器执行已成功完成。
inProgress 指示索引器执行正在进行。
transientFailure 指示索引器执行失败。 有关详细信息 ,请参阅 errorMessage 属性。 修复失败不一定需要人工干预。 例如,修复数据源与目标索引之间的架构不兼容需要用户操作,而临时数据源停机则不需要。 如果定义了索引器调用,则按计划继续调用。 如果计划上的索引器反复达到 transientFailure 状态而不取得进展,索引器将开始运行频率较低的间隔 (最多至少每 24 小时运行一次,) 直到再次成功进行。
persistentFailure 指示索引器以需要人工干预的方式失败。 计划的索引器执行将停止。 解决问题后,使用 重置索引器 (Azure AI 搜索 REST API) 重启计划的执行。
reset 指示索引器已通过调用重置 索引器 (Azure AI 搜索 REST API) 重置索引器。