Servlet de statut Neptune openCypher et point de terminaison de statut - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Servlet de statut Neptune openCypher et point de terminaison de statut

Le point de terminaison de statut openCypher permet d'accéder aux informations relatives aux requêtes qui sont en cours d'exécution sur le serveur ou en attente d'exécution. Il vous permet également d'annuler ces requêtes. Le point de terminaison est :

https://(the server):(the port number)/openCypher/status

Vous pouvez utiliser les méthodes HTTP GET et POST pour obtenir le statut actuel à partir du serveur ou pour annuler une requête. Vous pouvez également utiliser la méthode DELETE pour annuler une requête en cours ou en attente.

Paramètres des demandes de statut

Paramètres des requêtes de statut
  • includeWaiting (trueoufalse) : lorsque ce paramètre est défini sur true et que d'autres paramètres ne sont pas présents, des informations de statut pour les requêtes en attente ainsi que pour les requêtes en cours d'exécution sont renvoyées.

  • cancelQuery : utilisé uniquement avec les méthodes GET et POST pour indiquer qu'il s'agit d'une demande d'annulation. La méthode DELETE n'a pas besoin de ce paramètre.

    La valeur du paramètre cancelQuery n'est pas utilisée, mais lorsque cancelQuery est présent, le paramètre queryId est obligatoire pour identifier la requête à annuler.

  • queryId : contient l'ID d'une requête spécifique.

    Lorsque ce paramètre est utilisé avec la méthode GET ou POST et que le paramètre cancelQuery n'est pas présent, les informations de statut sont renvoyées par queryId pour la requête spécifique qu'il identifie. Si le paramètre cancelQuery est présent, la requête spécifique identifiée par queryId est annulée.

    Lorsqu'il est utilisé avec la méthode DELETE, queryId indique toujours une requête spécifique à annuler.

  • silent : utilisé uniquement lors de l'annulation d'une requête. Si ce paramètre est défini sur true, l'annulation se produit silencieusement.

Champs de réponse aux demandes de statut

Champs de réponse relatifs au statut si l'ID d'une requête spécifique n'est pas fourni
  • acceptedQueryCount— Le nombre de requêtes acceptées mais non encore terminées, y compris les requêtes dans la file d'attente.

  • runningQueryCount— Le nombre de requêtes OpenCypher en cours d'exécution.

  • queries : requêtes openCypher actuelles.

Champs de réponse relatifs au statut pour une requête spécifique
  • queryID : identifiant GUID de la requête. Neptune attribue automatiquement cette valeur d'ID à chaque requête, mais vous pouvez également attribuer votre propre ID (voir Injection d'un ID personnalisé dans une requête Neptune Gremlin ou SPARQL).

  • queryString : requête soumise. Celle-ci est tronquée à 1 024 caractères si elle est plus longue que cela.

  • queryEvalStats— Statistiques pour cette requête :

    • waited : indique la durée d'attente de la requête, en millisecondes.

    • elapsed : nombre de microsecondes d'exécution de la requête jusqu'au moment T.

    • cancelled : True indique que la requête a été annulée, ou False qu'elle n'a pas été annulée.

Exemples de demandes de statut et de réponses

  • Demande de statut de toutes les requêtes, y compris celles en attente :

    curl https://server:port/openCypher/status \ --data-urlencode "includeWaiting=true"

    Réponse :

    { "acceptedQueryCount" : 0, "runningQueryCount" : 0, "queries" : [ ] }
  • Demande de statut des requêtes en cours, à l'exclusion de celles en attente :

    curl https://server:port/openCypher/status

    Réponse :

    { "acceptedQueryCount" : 0, "runningQueryCount" : 0, "queries" : [ ] }
  • Demande de statut d'une seule requête :

    curl https://server:port/openCypher/status \ --data-urlencode "queryId=eadc6eea-698b-4a2f-8554-5270ab17ebee"

    Réponse :

    { "queryId" : "eadc6eea-698b-4a2f-8554-5270ab17ebee", "queryString" : "MATCH (n1)-[:knows]->(n2), (n2)-[:knows]->(n3), (n3)-[:knows]->(n4), (n4)-[:knows]->(n5), (n5)-[:knows]->(n6), (n6)-[:knows]->(n7), (n7)-[:knows]->(n8), (n8)-[:knows]->(n9), (n9)-[:knows]->(n10) RETURN COUNT(n1);", "queryEvalStats" : { "waited" : 0, "elapsed" : 23463, "cancelled" : false } }
  • Demandes d'annulation d'une requête

    1. En utilisant POST :

    curl -X POST https://server:port/openCypher/status \ --data-urlencode "cancelQuery" \ --data-urlencode "queryId=f43ce17b-db01-4d37-a074-c76d1c26d7a9"

    Réponse :

    { "status" : "200 OK", "payload" : true }

    2. En utilisant GET :

    curl -X GET https://server:port/openCypher/status \ --data-urlencode "cancelQuery" \ --data-urlencode "queryId=588af350-cfde-4222-bee6-b9cedc87180d"

    Réponse :

    { "status" : "200 OK", "payload" : true }

    3. En utilisant DELETE :

    curl -X DELETE \ -s "https://server:port/openCypher/status?queryId=b9a516d1-d25c-4301-bb80-10b2743ecf0e"

    Réponse :

    { "status" : "200 OK", "payload" : true }