Obtenir l’état de l’indexeur (API REST Recherche Azure AI)

L'opération d'obtention de l'état de l'indexeur ( Get Indexer Status ) récupère l'état actuel et l'historique d'exécution d'un indexeur :

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]

Paramètres URI

Paramètre Description
nom du service Obligatoire. Définissez cette valeur sur le nom unique défini par l’utilisateur de votre service de recherche.
nom de l’indexeur Obligatoire. L’URI de demande spécifie le nom de l’indexeur pour lequel status doivent être retournés.
api-version Obligatoire. La version stable actuelle est api-version=2020-06-30. Pour plus d’informations, consultez Versions de l’API .
failIfCannotDecrypt Facultatif, la valeur par défaut est true si elle n’est pas spécifiée. Si l’indexeur a été créé à l’aide d’une clé de chiffrement et que le service de recherche n’a pas accès à la clé de chiffrement, la récupération de l’indexeur status échoue. Si la valeur est false, les propriétés chiffrées de l’indexeur status retournées sont remplacées par "<encrypted>" des espaces réservés.

En-têtes de requête

Le tableau suivant décrit les en-têtes de demande obligatoires et facultatifs.

Champs Description
Content-Type Obligatoire. À définir avec la valeur application/json
api-key Facultatif si vous utilisez des rôles Azure et qu’un jeton de porteur est fourni sur la demande, sinon une clé est requise. Une clé API est une chaîne unique générée par le système qui authentifie la demande auprès de votre service de recherche. Les demandes d’obtention d’une définition d’objet doivent inclure un champ api-key défini sur votre clé d’administration (par opposition à une clé de requête). Pour plus d’informations, consultez Se connecter à Azure AI Search à l’aide de l’authentification par clé .

Corps de la demande

Aucun.

response

Code d'état : 200 OK en cas de réponse correcte. Le corps de la réponse contient des informations sur l’status d’intégrité globale de l’indexeur, le dernier appel de l’indexeur et l’historique des appels récents de l’indexeur (le cas échéant).

Voici un exemple de corps de réponse :

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

Notes

Si l’indexeur a été créé à l’aide d’une clé de chiffrement, les propriétés chiffrées du status ne peuvent être récupérées que si le service de recherche a accès à la clé de chiffrement. Si le service de recherche n’a pas accès à la clé de chiffrement, une requête incorrecte 400 est retournée par défaut. Spécifiez failIfCannotDecrypt=false pour récupérer le status avec "<encrypted>" des espaces réservés remplaçant les propriétés chiffrées.

État de l'indexeur

Les valeurs possibles pour l'état de l'indexeur sont les suivantes :

  • en cours d’exécution indique que l’indexeur s’exécute normalement. Certaines exécutions de l’indexeur peuvent toujours échouer, il est donc judicieux de case activée la propriété lastResult.

  • error indique que l’indexeur a rencontré une erreur qui ne peut pas être corrigée sans intervention humaine. Par exemple, il se peut que les informations d'identification de la source de données aient expiré, ou que le schéma de la source de données ou de l'index cible ait subitement changé.

Résultat d'exécution de l'indexeur

Un résultat d'exécution de l'indexeur contient des informations sur une seule exécution de l'indexeur. Le dernier résultat est exposé en tant que propriété lastResult de l’indexeur status. Les autres résultats récents, s’ils sont présents, sont retournés en tant que propriété executionHistory de l’indexeur status.

Le résultat d'exécution de l'indexeur contient les propriétés suivantes :

  • status : status d’une exécution. Pour plus d’informations, consultez exécution de l’indexeur status ci-dessous.

  • errorMessage : message d’erreur pour une exécution ayant échoué.

  • startTime : heure UTC à laquelle cette exécution a démarré.

  • endTime : heure UTC à laquelle cette exécution a pris fin. Cette valeur n’est pas définie si l’exécution est toujours en cours.

  • erreurs : liste des erreurs au niveau de l’élément, le cas échéant. Pour obtenir un exemple, consultez l’exemple de réponse ci-dessus. À compter de la version 2020-06-30 de l’API, chaque erreur de la liste n’inclut plus un "status" , car pour les erreurs au niveau de l’élément, elle était toujours fausse. À compter de la version 2020-06-30de l’API , chaque erreur dans la liste contient les nouvelles propriétés "name", "details", et "documentationLink".

  • avertissements : liste d’avertissements au niveau de l’élément, le cas échéant. Pour obtenir un exemple, consultez l’exemple de réponse ci-dessus. À compter de la version 2020-06-30de l’API , chaque avertissement de la liste contient les nouvelles propriétés "name", "details"et "documentationLink".

  • itemsProcessed : nombre d’éléments de source de données (par exemple, des lignes de table) que l’indexeur a tenté d’indexer pendant cette exécution.

  • itemsFailed : nombre d’éléments ayant échoué pendant cette exécution. L'erreur fournit l'ID de l'élément qui a échoué.

  • initialTrackingState : toujours null pour la première exécution de l’indexeur, ou si la stratégie de suivi des modifications de données n’est pas activée sur la source de données utilisée. Si une telle stratégie est activée, cette valeur est, lors des exécutions suivantes, la première valeur (la plus basse) de suivi des modifications traitée au cours cette exécution.

  • finalTrackingState : toujours null si la stratégie de suivi des modifications de données n’est pas activée sur la source de données utilisée. Sinon, indique la dernière valeur (la plus élevée) de suivi des modifications correctement traitée par cette exécution.

État d'exécution de l'indexeur

L'état d'exécution de l'indexeur reflète l'état d'une seule exécution. Il peut avoir les valeurs suivantes :

  • success indique que l’exécution de l’indexeur s’est terminée avec succès.

  • inProgress indique que l’exécution de l’indexeur est en cours.

  • transientFailure indique qu’une exécution de l’indexeur a échoué. Pour plus d’informations, consultez la propriété errorMessage . Il se peut de l'échec nécessite une intervention humaine pour le corriger. Par exemple, la résolution d’une incompatibilité de schéma entre la source de données et l’index cible nécessite une action de l’utilisateur, contrairement à un temps d’arrêt temporaire de la source de données. Les appels d’indexeurs continuent par planification, s’il en est défini un. Si un indexeur sur une planification atteint une status temporaire à plusieurs reprises sans effectuer de progression, l’indexeur commence à s’exécuter à un intervalle moins fréquent (jusqu’à un maximum d’au moins une fois toutes les 24 heures) jusqu’à ce qu’il effectue une nouvelle progression.

  • persistentFailure indique que l’indexeur a échoué d’une manière qui nécessite une intervention humaine. Les exécutions planifiées de l'indexeur s'arrêtent. Après avoir résolu le problème, utilisez Reset Indexer (API REST Azure AI Search) pour redémarrer les exécutions planifiées.

  • la réinitialisation indique que l’indexeur a été réinitialisé par un appel à Réinitialiser l’indexeur (API REST Recherche Azure AI).

Voir aussi