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

Obtention du statut du chargeur

Version préliminaire – La version préliminaire d'Amazon Neptune est disponible uniquement pour les clients sur liste blanche. Pour demander l'accès à Neptune, consultez les informations sur la page de la version préliminaire d'Amazon 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 http://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.

Syntaxe de la demande

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

Paramètres de requête

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

Statut renvoyé du chargement ou flux. LOAD_COMPLETED indique un chargement réussi sans problème. 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

Voici les réponses possibles renvoyées dans le champ status du chargeur avec une description de l'erreur.

LOAD_NOT_STARTED

Le chargement a été enregistré mais n'a pas démarré.

LOAD_IN_PROGRESS

Le chargement a commencé et est en cours.

LOAD_COMPLETED

Le chargement s'est terminé sans erreur ou avec des erreurs sous un seuil acceptable.

LOAD_CANCELLED_BY_USER

Le chargement a été annulé par l'utilisateur.

LOAD_CANCELLED_DUE_TO_ERRORS

Le chargement a été annulé par le système en raison d'erreurs.

LOAD_UNEXPECTED_ERROR

Le chargement a échoué avec une erreur inattendue.

LOAD_FAILED

Le chargement a été annulé, car le seuil d'erreurs a été dépassé.

LOAD_S3_READ_ERROR

Le flux a échoué en raison de problèmes de connectivité Amazon S3 intermittents ou transitoires. Si l'un des flux reçoit cette erreur, le statut de chargement global est défini sur LOAD_FAILED.

LOAD_S3_ACCESS_DENIED_ERROR

L'accès au compartiment S3 a été refusé. Si l'un des flux reçoit cette erreur, le statut de chargement global est défini sur LOAD_FAILED.

LOAD_COMMITTED_W_WRITE_CONFLICTS

Données chargées validées avec des conflits d'écriture non résolus.

Le chargeur tente de résoudre les conflits d'écritures dans des transactions distinctes et met à jour le statut du flux à mesure que le chargement progresse. Si le statut de flux final est LOAD_COMMITTED_W_WRITE_CONFLICTS, essayez de reprendre le chargement qui réussira probablement sans conflit d'écriture. Un conflit d'écriture n'est généralement pas associé à des données d'entrée incorrectes, mais des doublons dans les données peuvent augmenter la probabilité de conflits d'écritures.

LOAD_DATA_DEADLOCK

Le chargement a été annulé automatiquement en raison d'un blocage.

Exemples

Exemple Demande de statut de chargement

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

curl -X GET 'http://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 'http://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 'http://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 'http://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 } } }