Obtención del estado del indexador (API REST de Azure AI 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 Opcional si usa roles de Azure y se proporciona un token de portador en la solicitud; de lo contrario, se requiere una clave. Una clave de API es una cadena única generada por el sistema que autentica la solicitud en el servicio de búsqueda. Las solicitudes get para una definición de objeto deben incluir un campo de clave de API establecido en la clave de administración (en lugar de una clave de consulta). Consulte Conexión a Azure AI Search mediante la autenticación de claves para más información.

Cuerpo de la solicitud

Ninguno.

Response

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 del indexador y el historial de invocaciones recientes del indexador (si están presentes).

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ó con 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 de forma predeterminada una solicitud incorrecta 400. 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:

  • running indica que el indexador se está ejecutando normalmente. Es posible que algunas de las ejecuciones del indexador sigan fallando, 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 errónea.

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

  • endTime: la hora utc en la que finalizó esta ejecución. Este valor no se establece si la ejecución sigue 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 API, cada error de la lista ya no incluirá un "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 contiene 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 LA API, cada advertencia de la lista contiene 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: el 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 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 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 de indizador

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, la corrección de una incompatibilidad de esquema entre el origen de datos y el índice de destino requiere una acción del usuario, mientras que un tiempo de inactividad temporal del origen de datos no. Las invocaciones del indexador continúan por programación, si se define una. Si un indexador de una programación alcanza un estado transientFailure repetidamente sin avanzar, 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 indexador 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 (API rest de Azure AI Search) para reiniciar las ejecuciones programadas.

  • reset indica que el indexador se ha restablecido mediante una llamada a Reset Indexer (API rest de Azure AI Search).

Consulte también