你当前正在访问 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) 重置索引器。

另请参阅