Obtención del estado del indexador (API REST de Azure Cognitive Search)

La operación Obtener estado del indexador recupera el estado actual y el historial de ejecución de un indexador:

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]

Parámetros de identificador URI

Parámetro Descripción
nombre del servicio Necesario. Establézcalo en el nombre único definido por el usuario del servicio de búsqueda.
nombre del indexador Necesario. El URI de solicitud especifica el nombre del indexador para el que se debe devolver el estado.
api-version Necesario. La versión estable actual es api-version=2020-06-30. Consulte Versiones de API para obtener más versiones.
failIfCannotDecrypt Opcional, el valor predeterminado es true si no se especifica. Si el indexador se creó con una clave de cifrado y el servicio de búsqueda no tiene acceso a la clave de cifrado, se produce un error al recuperar el estado del indexador. Si es false, el estado del indexador devuelto tiene propiedades cifradas reemplazadas por "<encrypted>" marcadores de posición.

Encabezados de solicitud

En la siguiente tabla se describen los encabezados de solicitud obligatorios y opcionales.

Campos Descripción
Content-Type Necesario. Establézcalo en application/json
api-key Necesario. La clave de API se usa para autenticar la solicitud en el servicio Search. Es un valor de cadena único para el servicio. Las solicitudes de obtención de objetos en el servicio deben incluir un campo de clave de API establecido en la clave de administrador (en lugar de una clave de consulta). Puede encontrar la clave de API en el panel del servicio de búsqueda en el Azure Portal.

Cuerpo de la solicitud

Ninguno.

Respuesta

Código de estado: 200 Correcto al obtener una respuesta correcta. El cuerpo de la respuesta contiene información sobre el estado general del indexador, la última invocación de este, así como el historial de invocaciones recientes del mismo (si existe).

Un cuerpo de respuesta de muestra tiene el siguiente aspecto:

{
    "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
        }
    ]
}

Nota

Si el indexador se creó mediante una clave de cifrado, las propiedades cifradas del estado solo se pueden recuperar si el servicio de búsqueda tiene acceso a la clave de cifrado. Si el servicio de búsqueda no tiene acceso a la clave de cifrado, se devuelve una solicitud incorrecta 400 de forma predeterminada. Especifique failIfCannotDecrypt=false para recuperar el estado con "<encrypted>" marcadores de posición que reemplazan las propiedades cifradas.

Estado del indizador

El estado del indexador puede ser uno de los siguientes valores:

  • en ejecución indica que el indexador se está ejecutando normalmente. Tenga en cuenta que algunas de las ejecuciones del indexador pueden seguir produciendo errores, por lo que también es recomendable comprobar la propiedad lastResult .

  • error indica que el indexador experimentó un error que no se puede corregir sin intervención humana. Por ejemplo, es posible que las credenciales del origen de datos hayan caducado, que el esquema del origen de datos haya cambiado o que el índice del destino haya cambiado separándose.

Resultado de la ejecución de indizador

Un resultado de la ejecución de indexador contiene información sobre la ejecución de un indexador único. El resultado más reciente se muestra como la propiedad lastResult del estado del indexador. Otros resultados recientes, si están presentes, se devuelven como la propiedad executionHistory del estado del indexador.

El resultado de la ejecución del indexador contiene las siguientes propiedades:

  • status: el estado de una ejecución. Consulte Estado de ejecución del indexador a continuación para obtener más información.

  • errorMessage: mensaje de error para una ejecución con errores.

  • startTime: la hora en UTC en la que se inició esta ejecución.

  • endTime: la hora utc en la que ha finalizado esta ejecución. Este valor no se establece si la ejecución todavía está en curso.

  • errores: una lista de errores de nivel de elemento, si existe. Consulte la respuesta de ejemplo anterior para obtener un ejemplo. A partir de la versión 2020-06-30 de la API, cada error de la lista ya no incluirá un elemento "status" porque para los errores de nivel de elemento siempre era false. A partir de la versión 2020-06-30de API, cada error de la lista contendrá las nuevas propiedades "name", "details"y "documentationLink".

  • advertencias: una lista de advertencias de nivel de elemento, si las hay. Consulte la respuesta de ejemplo anterior para obtener un ejemplo. A partir de la versión 2020-06-30de API, cada advertencia de la lista contendrá las nuevas propiedades "name", "details"y "documentationLink".

  • itemsProcessed: número de elementos de origen de datos (por ejemplo, filas de tabla) que el indexador intentó indexar durante esta ejecución.

  • itemsFailed: número de elementos que no se pudieron realizar durante esta ejecución. El error proporciona el identificador del elemento que produjo un error.

  • initialTrackingState: siempre es NULL para la primera ejecución del indexador o si la directiva de seguimiento de cambios de datos no está habilitada en el origen de datos usado. Si esta directiva está habilitada, en ejecuciones posteriores, este valor indica el primer valor de seguimiento de cambio (el más bajo) procesado por esta ejecución.

  • finalTrackingState: siempre es NULL si la directiva de seguimiento de cambios de datos no está habilitada en el origen de datos usado. En caso contrario, indica el último valor de seguimiento de cambios (superior) procesado correctamente por esta ejecución.

Estado de ejecución del indexador

El estado de la ejecución del indexador captura el estado de una ejecución de un indexador único. Puede presentar los siguientes valores:

  • success indica que la ejecución del indexador se ha completado correctamente.

  • inProgress indica que la ejecución del indexador está en curso.

  • transientFailure indica que se ha producido un error en la ejecución de un indexador. Consulte la propiedad errorMessage para obtener más información. El error puede o no requerir intervención humana para corregirlo. Por ejemplo, corregir una incompatibilidad de esquema entre el origen de datos y el índice de destino requiere acción del usuario, mientras que un tiempo de inactividad temporal del origen de datos temporales no la requiere. Las invocaciones de indizador continuarán según la programación, si se ha definido alguna. Tenga en cuenta que si un indexador de una programación alcanza un estado transientFailure repetidamente sin realizar el progreso, el indexador comenzará a ejecutarse en un intervalo menos frecuente (hasta el máximo de al menos una vez cada 24 horas) hasta que vuelva a avanzar correctamente.

  • persistentFailure indica que el indizador ha fallado de una manera que requiere intervención humana. Detención de ejecuciones programadas del indexador. Después de solucionar el problema, use Reset Indexer (Azure Cognitive Search API REST) para reiniciar las ejecuciones programadas.

  • Restablecer indica que el indexador se ha restablecido mediante una llamada a Reset Indexer (Azure Cognitive Search API REST).

Consulte también