Amazon Neptune
Guide de l'utilisateur (Version de l'API 2017-11-29)

Obtention du statut du chargeur

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 your-neptune-endpoint:8182/loader. Pour obtenir le statut d'une demande de chargement particulière, vous devez inclure loadId comme paramètre d'URL, ou loadId peut être ajouté au chemin d'URL.

Les réponses possibles renvoyées pour chaque flux du chargeur, avec une description de l'erreur, figurent dans la section Message d'erreur et de flux liés au chargeur Neptune de la rubrique Neptune Erreurs de service.

Syntaxe de la demande

GET your-neptune-endpoint:8182/loader?loadId=loadId
GET your-neptune-endpoint:8182/loader/loadId
GET your-neptune-endpoint:8182/loader

Paramètres de demande

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.

détails

Inclure des détails autres que le statut global. Par défaut : False

Valeurs autorisées : TRUE, FALSE

erreurs

Inclure la liste d'erreurs. La liste d'erreurs est paginée. Les paramètres page et errorsPerPage vous permettent de parcourir toutes les erreurs. Par défaut : False

Valeurs autorisées : TRUE, FALSE

page

Numéro de page de l'erreur. Valide uniquement si le paramètre errors est défini sur TRUE. Par défaut : 1

Valeurs autorisées : Entiers positifs

errorsPerPage

Nombre d'erreurs par page. Valide uniquement si le paramètre errors est défini sur TRUE. Par défaut : 10

Valeurs autorisées : Entiers positifs

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é. Par défaut : 100

Valeurs autorisées : Entiers positifs, 1 - 100

Syntaxe de la réponse

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

200 OK

Un contrôle de statut réussi renvoie un code 200.

Erreurs

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.

Erreur 400

Un loadId non valide renvoie une erreur de demande incorrecte 400. Le message décrit l'erreur.

Erreur 500

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

Champs de réponse

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

Type : chaîne

URI du fichier ou des fichiers à charger. Au format : s3://bucket/key

runNumber

Type : long non signé

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

retryNumber

Type : long non signé

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

État

Type : chaîne

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 Descriptions de statut globales et de flux.

totalTimeSpent

Type : long non signé

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.

totalRecords

Type : long non signé

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

totalDuplicates

Type : long non signé

Nombre d'enregistrements en double rencontrés.

parsingErrors

Type : long non signé

Nombre d'erreurs d'analyse rencontrées.

datatypeMismatchErrors

Type : long non signé

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

insertErrors

Type : long non signé

Nombre d'enregistrements qui n'ont pas pu être insérés à cause d'erreurs.

Champs d'erreur

Voici les champs figurant dans le champ error de la réponse de statut.

startIndex

Type : long non signé

Indice de la première erreur.

endIndex

Type : long non signé

Indice de la dernière erreur.

loadId

Type : chaîne

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

errorLogs

Type : list

Liste des journaux d'erreurs.

Descriptions de statut globales et de flux

Les réponses possibles renvoyées pour chaque flux du chargeur, avec une description de l'erreur, figurent dans la section Message d'erreur et de flux liés au chargeur Neptune de la rubrique Neptune Erreurs de service.

Exemples

Exemple Demande de statut de chargement

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

curl -X GET 'your-neptune-endpoint:8182/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 'your-neptune-endpoint:8182/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 'your-neptune-endpoint:8182/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 'your-neptune-endpoint:8182/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 } } }