你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

获取索引器状态 (Azure 认知搜索 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 必需。 API 密钥用于对搜索服务的请求进行身份验证。 它是一个字符串值,对于服务是唯一的。 获取有关服务中的对象的请求必须包含 api 密钥字段设置为管理员密钥 (而不是查询密钥) 。 可以在Azure 门户的搜索服务仪表板中找到 API 密钥

请求正文

无。

响应

对于成功的响应,返回“状态代码: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 属性。

  • 错误 指示索引器遇到一个错误,无需人工干预即可更正。 例如,数据源凭据可能已过期,或者数据源或目标索引的架构已发生重大更改。

索引器执行结果

索引器执行结果包含有关单个索引器执行的信息。 最新结果显示为索引器状态的 lastResult 属性。 其他最新结果(如果存在)作为索引器状态的执行 History 属性返回。

索引器执行结果包含以下属性:

  • status:执行的状态。 有关详细信息,请参阅下面的 索引器执行状态

  • errorMessage:执行失败的错误消息。

  • startTime:此执行开始时的 UTC 时间。

  • endTime:此执行结束时的 UTC 时间。 如果执行仍在进行,则不设置此值。

  • 错误:项级错误列表(如果有)。 有关示例,请参阅上面的示例响应。 从 API 版本 2020-06-30 开始,列表中的每个错误将不再包含, "status" 因为对于项级错误,始终为 false。 从 API 版本 2020-06-30开始,列表中的每个错误都将包含新属性 "name""details"以及 "documentationLink"

  • 警告:项级警告的列表(如果有)。 有关示例,请参阅上面的示例响应。 从 API 版本 2020-06-30开始,列表中的每个警告都将包含新属性 "name""details"以及 "documentationLink"

  • itemsProcessed: (数据源项的数量,例如,索引器在此执行过程中尝试编制索引的表行) 。

  • itemsFailed:执行期间失败的项数。 该错误提供了失败的项的 ID。

  • initialTrackingState:对于第一个索引器执行始终 为 null ,或者未在使用的数据源上启用数据更改跟踪策略。 如果启用了此类策略,在后续执行中,该值将指示此执行处理的第一个(最低)更改跟踪值。

  • finalTrackingState:如果未在使用的数据源上启用数据更改跟踪策略,则始终 为 null 。 否则,指示此执行成功处理的最新(最高)更改跟踪值。

索引器执行状态

索引器执行状态捕获单个索引器执行的状态。 该选项可具有以下值:

  • 成功 表示索引器执行已成功完成。

  • inProgress 指示索引器执行正在进行中。

  • transientFailure 指示索引器执行失败。 有关详细信息 ,请参阅 errorMessage 属性。 修复失败不一定需要人工干预。 例如,修复数据源和目标索引之间的架构不兼容性需要用户采取措施,而临时数据源停机则不需要。 索引器调用将按计划(如果已定义)继续进行。 请注意,如果计划的索引器在不进行进度的情况下重复达到暂时性Failure 状态,则索引器将开始运行频率较低的间隔, (最多每 24 小时至少运行一次) ,直到它再次成功进行。

  • persistentFailure 指示索引器失败的方式需要人工干预。 计划的索引器执行将停止。 解决问题后,使用重置索引器 (Azure 认知搜索 REST API) 重启计划的执行。

  • 重置指示索引器已通过调用重置索引器 (Azure 认知搜索 REST API) 重置索引器

另请参阅