Neptune openCypher ステータスサーブレットとステータスエンドポイント - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Neptune openCypher ステータスサーブレットとステータスエンドポイント

openCypher ステータスエンドポイントは、サーバー上で現在実行されている、または実行を待っているクエリに関する情報へのアクセスを提供します。また、これらのクエリをキャンセルすることもできます。エンドポイントは、次の通りです。

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

サーバーから現在のステータスを取得する、またはクエリをキャンセルするHTTP GET および POST メソッドを使用できます。また、実行中のクエリまたは待機中のクエリをキャンセルする DELETE メソッドを使用することもできます。

ステータスリクエストのパラメータ

ステータスクエリパラメータ
  • includeWaiting (true または false) — true に設定し、かつその他のパラメータが存在しない場合は、待機中のクエリと実行中のクエリのステータス情報が返されます。

  • cancelQueryGET および POST メソッドを使用してのみ使用し、これがキャンセル要求であることを示します。DELETE メソッドはこのパラメータを必要としません。

    cancelQuery パラメータの値は使用されませんが、cancelQuery が存在する場合、キャンセルするクエリを識別するには、queryId パラメータが必要です。

  • queryId — 特定のクエリの ID が含まれます。

    GET または POST メソッドと併用およびし、なおかつ cancelQuery パラメータが存在しない場合 queryId は、識別する特定のクエリのステータス情報を返します。cancelQuery パラメータが存在する場合、queryId が特定するクエリはキャンセルされます。

    DELETE メソッドと併用する場合、queryId は常に特定のクエリがキャンセルされることを示します。

  • silent — クエリをキャンセルするときにのみ使用されます。true に設定されている場合、キャンセルは予告なしに行われます。

ステータスリクエストのレスポンスフィールド

特定のクエリの ID が指定されていない場合、ステータスレスポンスフィールドは表示されない
  • acceptedQueryCount – キュー内のクエリを含む、受け入れられたが、まだ完了していないクエリの数。

  • runningQueryCount – 現在実行中の openCypher クエリの数。

  • queries   –   現在の openCypher クエリのリスト。

特定のクエリのステータスレスポンスフィールド
  • queryId   –   クエリの GUID ID。Neptune は、この ID 値を各クエリに自動的に割り当てます。または、独自の ID を割り当てることもできます (Neptune Gremlin または SPARQL クエリにカスタム ID を挿入するを参照)。

  • queryString   –   送信されたクエリ。それより長い場合、これは 1024 文字に切り捨てられます。

  • queryEvalStats – このクエリの統計:

    • waited - クエリが待機していた時間をミリ秒単位で示します。

    • elapsed   –   これまでクエリが実行されていた時間 (マイクロ秒)。

    • cancelledTrue はクエリがキャンセルされたことを示し、False はキャンセルされていないことを示します。

ステータスリクエストとレスポンスの例

  • 待機中のクエリを含む、すべてのクエリのステータスを要求します。

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

    レスポンス:

    { "acceptedQueryCount" : 0, "runningQueryCount" : 0, "queries" : [ ] }
  • 待機中のクエリを含まない、すべてのクエリのステータスを要求します。

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

    レスポンス:

    { "acceptedQueryCount" : 0, "runningQueryCount" : 0, "queries" : [ ] }
  • 1 つのクエリのステータスをリクエストします。

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

    レスポンス:

    { "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 } }
  • クエリのキャンセルをリクエストします

    1. POST を使用する:

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

    レスポンス:

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

    2. GET を使用する:

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

    レスポンス:

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

    3. DELETE を使用する:

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

    レスポンス:

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