Neptune openCypher servlet 和狀態端點 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Neptune openCypher servlet 和狀態端點

OpenCypher 狀態端點可讓您存取目前正在伺服器上執行或等待執行之查詢的相關資訊。它也可讓您取消這些查詢。端點為:

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

您可以使用 HTTP GETPOST 方法,從伺服器取得目前狀態,或者取消查詢。您也可以使用 DELETE 方法,取消執行中或等待中的查詢。

狀態請求的參數

狀態查詢參數
  • includeWaiting (truefalse) – 當設定為 true 且其他參數不存在時,這會導致傳回等待中查詢以及執行中查詢的狀態資訊。

  • cancelQuery – 僅與 GETPOST 方法搭配使用,以指示這是取消請求。DELETE 方法不需要此參數。

    不會使用 cancelQuery 參數的值,但當 cancelQuery 存在時,需要 queryId 參數,以識別要取消的查詢。

  • queryId – 包含特定查詢的 ID。

    如果與 GETPOST 方法搭配使用,且 cancelQuery 參數不存在 時,queryId 會針對其識別的特定查詢傳回狀態資訊。如果 cancelQuery 參數存在,則會取消 queryId 識別的特定查詢。

    DELETE 方法搭配使用時,queryId 一律指示要取消的特定查詢。

  • silent – 僅在取消查詢時使用。如果設定為 true,則會導致取消以無訊息方式發生。

狀態請求回應欄位

狀態回應欄位 (如果未提供特定查詢的 ID)
  • acceptedQueryCount— 已接受但尚未完成的查詢數目,包括佇列中的查詢。

  • runningQueryCount— 當前正在運行的開放密碼查詢的數量。

  • queries – 目前的 openCypher 查詢清單。

特定查詢的狀態回應欄位
  • queryId – 查詢的 GUID ID。Neptune 會自動將此 ID 值指派給每個查詢,或者您也可以指派自己的 ID (請參閱 將自訂 ID 注入至 Neptune Gremlin 或 SPARQL 查詢)。

  • 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" : [ ] }
  • 請求單一查詢的狀態:

    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 }