Поделиться через


Получение состояния индексатора (REST API поиска Azure AI)

Операция получения состояния индексатора получает текущий журнал состояния и выполнения индексатора.

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 — это уникальная, сгенерированная системой строка, которая проверяет подлинность запроса к службе поиска. Запросы на получение определения объекта должны включать в себя поле ключа API, заданного в качестве ключа администратора (в отличие от ключа запроса). Дополнительные сведения см. в статье Подключение к поиску ИИ Azure с помощью проверки подлинности по ключу .

Текст запроса

Нет.

Ответ

Код состояния: в качестве успешного ответа возвращается код «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: список ошибок на уровне элемента, если таковые есть. Пример см. в примере ответа выше. Начиная с версии 2020-06-30 API, каждая ошибка в списке больше не будет включать , "status" так как для ошибок уровня элемента она всегда была false. Начиная с версии 2020-06-30API, каждая ошибка в списке содержит новые свойства "name", "details"и "documentationLink".

  • warnings: список предупреждений на уровне элемента, если таковые есть. Пример см. в примере ответа выше. Начиная с версии 2020-06-30API каждое предупреждение в списке содержит новые свойства "name", "details"и "documentationLink".

  • itemsProcessed: количество элементов источника данных (например, строк таблицы), которые индексатор пытался проиндексировать во время этого выполнения.

  • itemsFailed: количество элементов, завершилось сбоем во время выполнения. Ошибка содержит идентификатор элемента, вызвавшего сбой.

  • initialTrackingState: всегда имеет значение NULL для первого выполнения индексатора или если политика отслеживания изменений данных не включена в используемом источнике данных. Если такая политика включена, этот параметр в последующих выполнениях содержит первое (наименьшее) значение отслеживания изменений, обработанных в ходе этого выполнения.

  • finalTrackingState: всегда имеет значение NULL , если политика отслеживания изменений данных не включена в используемом источнике данных. В противном случае указывает последнее (наибольшее) значение отслеживания изменений, успешно обработанное в ходе этого выполнения.

Состояние выполнения индексатора

Состояние выполнения индексатора регистрирует состояние одного выполнения индексатора. Может иметь следующие значения.

  • success указывает, что выполнение индексатора успешно завершено.

  • inProgress указывает, что выполняется выполнение индексатора.

  • transientFailure указывает, что выполнение индексатора завершилось сбоем. Дополнительные сведения см. в разделе свойство errorMessage . Сбой может потребовать вмешательства человека для устранения проблемы, а может не потребовать. Например, для исправления несовместимости схемы между источником данных и целевым индексом требуется действие пользователя, а временный простой источника данных — нет. Вызовы индексатора продолжаются по расписанию, если он определен. Если индексатор по расписанию постоянно переходит в состояние временной конфигурации, не выполняя ход выполнения, индексатор начнет работать с менее частым интервалом (не более одного раза в 24 часа), пока он не будет успешно выполнен снова.

  • PersistentFailure указывает, что индексатор завершился сбоем таким образом, что требует вмешательства человека. Запланированные выполнения индексатора останавливаются. После устранения проблемы используйте сброс индексатора (REST API поиска Azure) для перезапуска запланированных выполнений.

  • reset указывает, что индексатор был сброшен вызовом сброса индексатора (REST API поиска Azure AI).

См. также раздел