API d'obtention du statut du chargeur Neptune - Amazon Neptune

API d'obtention du statut du chargeur Neptune

Obtient le statut d'une tâche loader.

Pour obtenir le statut de chargement, vous devez envoyer une demande GET HTTP au point de terminaison https://your-neptune-endpoint:port/loader. Pour obtenir le statut d'une demande de chargement particulière, vous devez inclure l'loadId comme paramètre d'URL ou ajouter l'loadId au chemin d'URL.

Neptune ne conserve une trace que des 1 024 tâches de chargement en bloc les plus récentes et ne stocke que les 10 000 dernières informations détaillées d'erreur par tâche.

Pour connaître les réponses possibles renvoyées pour chaque flux du chargeur, avec une description de l'erreur, veuillez consulter Erreurs du chargeur et la section Syntaxe de la réponse ci-dessous.

Syntaxe de la demande d'obtention du statut du chargeur Neptune

GET https://your-neptune-endpoint:port/loader?loadId=loadId
GET https://your-neptune-endpoint:port/loader/loadId
GET https://your-neptune-endpoint:port/loader

Paramètres de demande d'obtention du statut du chargeur Neptune

  • loadId   –   ID de la tâche de chargement. Si vous ne spécifiez pas d'ID loadId, une liste d'ID de chargement est renvoyée.

  • details   –   Inclure des détails autres que le statut global.

    Valeurs autorisées : TRUE, FALSE.

    Valeur par défaut : FALSE.

  • errors   –  Inclure la liste d'erreurs.

    Valeurs autorisées : TRUE, FALSE.

    Valeur par défaut : FALSE.

    La liste d'erreurs est paginée. Les paramètres page et errorsPerPage vous permettent de parcourir toutes les erreurs.

  • page   –   Numéro de page de l'erreur. Valide uniquement si le paramètre errors est défini sur TRUE.

    Valeurs autorisées : Entiers positifs

    Valeur par défaut : 1.

  • errorsPerPage   –   Nombre d'erreurs par page. Valide uniquement si le paramètre errors est défini sur TRUE.

    Valeurs autorisées : Entiers positifs

    Valeur par défaut : 10.

  • limit   –   Nombre d'ID de chargement à répertorier. Valide uniquement lorsque vous demandez une liste d'ID de chargement en envoyant une demande GET sans loadId spécifié.

    Valeurs autorisées : nombre entier positif compris entre 1 et 100.

    Valeur par défaut : 100.

  • includeQueuedLoads   –   Paramètre facultatif qui peut être utilisé pour exclure les ID de chargement des demandes de chargement en file d'attente lorsqu'une liste d'ID de chargement est demandée.

    Par défaut, les ID de chargement de toutes les tâches de chargement avec le statut LOAD_IN_QUEUE sont inclus dans cette liste. Ils apparaissent avant les ID de chargement d'autres tâches, triés en fonction du moment où ils ont été ajoutés à la file d'attente, du plus récent au plus ancien.

    Valeurs autorisées : TRUE, FALSE.

    Valeur par défaut : TRUE.

Syntaxe de réponse d'obtention du statut du chargeur Neptune

{ "status" : "200 OK", "payload" : { "feedCount" : [ { "LOAD_FAILED" : number } ], "overallStatus" : { "fullUri" : "s3://bucket/key", "runNumber" : number, "retryNumber" : number, "status" : "string", "totalTimeSpent" : number, "startTime" : number, "totalRecords" : number, "totalDuplicates" : number, "parsingErrors" : number, "datatypeMismatchErrors" : number, "insertErrors" : number, }, "failedFeeds" : [ { "fullUri" : "s3://bucket/key", "runNumber" : number, "retryNumber" : number, "status" : "string", "totalTimeSpent" : number, "startTime" : number, "totalRecords" : number, "totalDuplicates" : number, "parsingErrors" : number, "datatypeMismatchErrors" : number, "insertErrors" : number, } ], "errors" : { "startIndex" : number, "endIndex" : number, "loadId" : "string, "errorLogs" : [ ] } } } }

Paramètres de réponse Get-Status du chargeur Neptune

Voici les champs renvoyés par la commande de statut avec des descriptions.

Ces champs apparaissent dans le champ overallStatus pour tous les chargements, et le champ failedFeeds pour chaque flux ayant échoué.

  • fullUri   –   URI du ou des fichiers à charger.

    Type : chaîne

    Format : s3://bucket/key.

  • runNumber   –   Nombre d'exécutions de ce chargement ou flux. Ce nombre est incrémenté lorsque le chargement est redémarré.

    Type : long non signé.

  • retryNumber   –   Nombre de nouvelles tentatives de ce chargement ou flux. Ce nombre est incrémenté lorsque le chargeur relance automatiquement un flux ou un chargement.

    Type : long non signé.

  • status   –   Le statut renvoyé de la charge ou du flux. LOAD_COMPLETED indique la bonne réussite du chargement sans problèmes. Pour obtenir une liste de tous les statuts de chargement, consultez Paramètres de demande.

    Type : chaîne.

  • totalTimeSpent   –   Temps, en secondes, consacré à analyser et insérer les données pour le chargement ou le flux. N'inclut pas le temps consacré à l'extraction de la liste de fichiers source.

    Type : long non signé.

  • totalRecords   –   Nombre total d'enregistrements chargés ou de tentatives de chargement.

    Type : long non signé.

  • totalDuplicates   –   Nombre d'enregistrements en double rencontrés.

    Type : long non signé.

  • parsingErrors   –   Nombre d'erreurs d'analyse rencontrées.

    Type : long non signé.

  • datatypeMismatchErrors   –   Nombre d'enregistrements avec un type de données qui ne correspond pas aux données fournies.

    Type : long non signé.

  • insertErrors   –   Nombre d'enregistrements qui n'ont pas pu être insérés en raison d'erreurs.

    Type : long non signé.

Paramètres de flux en échec

Les réponses possibles renvoyées pour chaque flux défaillant du chargeur, avec une description de l'erreur, sont les mêmes que pour l'objet overallStatus.

Champs d'erreur d'obtention du statut du chargeur Neptune

Lorsqu'une erreur se produit, un objet JSON est renvoyé dans le BODY (corps) de la réponse. L'objet message contient une description de l'erreur.

Catégories d'erreurs

  • Error 400   –   Une erreur non valide loadId renvoie une erreur de requête HTTP 400 incorrecte. Le message décrit l'erreur.

  • Error 500   –   Une demande valide qui ne peut pas être traitée renvoie une erreur de serveur interne 500. Le message décrit l'erreur.

Voici les champs figurant dans le paramètre error de la réponse de statut.

  • startIndex   –   Index de la première erreur incluse.

    Type : long non signé.

  • endIndex   –   Index de la dernière erreur incluse.

    Type : long non signé.

  • loadId   –   ID du chargement. Vous pouvez utiliser cet ID pour afficher les erreurs du chargement en définissant le paramètre errors sur TRUE.

    Type : chaîne.

  • errorLogs   –   Liste des journaux d'erreurs.

    Type : liste.

Erreur d'interruption de tâche de lecture anticipée des données

Parfois, lorsque vous obtenez un statut LOAD_FAILED, puis demandez des informations plus détaillées, l'erreur renvoyée peut être PARSING_ERROR avec un message Data prefetch task interrupted, comme suit :

"errorLogs" : [ { "errorCode" : "PARSING_ERROR", "errorMessage" : "Data prefetch task interrupted: Data prefetch task for 11467 failed", "fileName" : "s3://some-source-bucket/some-source-file", "recordNum" : 0 } ]

Cette erreur se produit en cas d'interruption temporaire du processus de chargement des données qui n'est généralement pas provoquée par votre demande ni vos données. Elle peut généralement être résolue simplement en réexécutant la demande de chargement par lot. Si vous utilisez les paramètres par défaut, à savoir "mode":"AUTO" et "failOnError":"TRUE", le chargeur ignore les fichiers qu'il a déjà chargés avec succès et reprend le chargement des fichiers qu'il n'avait pas encore chargés lorsque l'interruption s'est produite.

Exemples de statut de chargement

Exemple Demande de statut de chargement

Voici une demande envoyée via HTTP GET à l'aide de la commande curl.

curl -X GET 'https://your-neptune-endpoint:port/loader/0a237328-afd5-4574-a0bc-c29ce5f54802'

Exemple Réponse

{ "status" : "200 OK", "payload" : { "feedCount" : [ { "LOAD_FAILED" : 1 } ], "overallStatus" : { "datatypeMismatchErrors" : 0, "fullUri" : "s3://bucket/key", "insertErrors" : 0, "parsingErrors" : 5, "retryNumber" : 0, "runNumber" : 1, "status" : "LOAD_FAILED", "totalDuplicates" : 0, "totalRecords" : 5, "totalTimeSpent" : 3.0 } } }

Exemple Demande d'ID de chargement

Voici une demande envoyée via HTTP GET à l'aide de la commande curl.

curl -X GET 'https://your-neptune-endpoint:port/loader?limit=3'

Exemple Réponse

{ "status" : "200 OK", "payload" : { "loadIds" : [ "a2c0ce44-a44b-4517-8cd4-1dc144a8e5b5", "09683a01-6f37-4774-bb1b-5620d87f1931", "58085eb8-ceb4-4029-a3dc-3840969826b9" ] } }

Exemple Demande de statut de chargement détaillé

Voici une demande envoyée via HTTP GET à l'aide de la commande curl.

curl -X GET 'https://your-neptune-endpoint:port/loader/0a237328-afd5-4574-a0bc-c29ce5f54802?details=true'

Exemple Réponse

{ "status" : "200 OK", "payload" : { "failedFeeds" : [ { "datatypeMismatchErrors" : 0, "fullUri" : "s3://bucket/key", "insertErrors" : 0, "parsingErrors" : 5, "retryNumber" : 0, "runNumber" : 1, "status" : "LOAD_FAILED", "totalDuplicates" : 0, "totalRecords" : 5, "totalTimeSpent" : 3.0 } ], "feedCount" : [ { "LOAD_FAILED" : 1 } ], "overallStatus" : { "datatypeMismatchErrors" : 0, "fullUri" : "s3://bucket/key", "insertErrors" : 0, "parsingErrors" : 5, "retryNumber" : 0, "runNumber" : 1, "status" : "LOAD_FAILED", "totalDuplicates" : 0, "totalRecords" : 5, "totalTimeSpent" : 3.0 } } }

Exemple Demande de statut détaillé avec des erreurs de chargement

Voici une demande envoyée via HTTP GET à l'aide de la commande curl.

curl -X GET 'https://your-neptune-endpoint:port/loader/0a237328-afd5-4574-a0bc-c29ce5f54802?details=true&errors=true&page=1&errorsPerPage=3'

Exemple Réponse

{ "status" : "200 OK", "payload" : { "failedFeeds" : [ { "datatypeMismatchErrors" : 0, "fullUri" : "s3://bucket/key", "insertErrors" : 0, "parsingErrors" : 5, "retryNumber" : 0, "runNumber" : 1, "status" : "LOAD_FAILED", "totalDuplicates" : 0, "totalRecords" : 5, "totalTimeSpent" : 3.0 } ], "feedCount" : [ { "LOAD_FAILED" : 1 } ], "overallStatus" : { "datatypeMismatchErrors" : 0, "fullUri" : "s3://bucket/key", "insertErrors" : 0, "parsingErrors" : 5, "retryNumber" : 0, "runNumber" : 1, "status" : "LOAD_FAILED", "totalDuplicates" : 0, "totalRecords" : 5, "totalTimeSpent" : 3.0 }, "errors" : { "endIndex" : 3, "errorLogs" : [ { "errorCode" : "UNKNOWN_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "s3://bucket/key", "recordNum" : 1 }, { "errorCode" : "UNKNOWN_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "s3://bucket/key", "recordNum" : 2 }, { "errorCode" : "UNKNOWN_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "s3://bucket/key", "recordNum" : 3 } ], "loadId" : "0a237328-afd5-4574-a0bc-c29ce5f54802", "startIndex" : 1 } } }