本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Neptune 串流API回應格式
對 Neptune Streams RESTAPI請求的回應具有下列欄位:
-
lastEventId
– 串流回應中上次變更的序列識別符。事件 ID 由兩個欄位組成:commitNum
識別已變更圖形的交易,以及opNum
識別該交易內的特定操作。如以下範例所示。"eventId": { "commitNum": 12, "opNum": 1 }
lastTrxTimestamp
– 已請求遞交交易的時間,以毫秒為單位,從 Unix epoch 開始。format
– 要傳回之變更記錄的序列化格式。可能的值PG_JSON
適用於 Gremlin 或 openCypher 變更記錄,以及NQUADS
SPARQL變更記錄。-
records
– 回應中包含之序列化變更日誌串流記錄的陣列。records
陣列中的每筆記錄都包含下列欄位:commitTimestamp
– 已請求遞交交易的時間,以毫秒為單位,從 Unix epoch 開始。eventId
– 串流變更記錄的序列識別符。data
– 序列化 GremlinSPARQL、 或 OpenCypher 變更記錄。下節 (Neptune 串流中的序列化格式) 會詳細描述每筆記錄的序列化格式。op
– 已建立變更的操作。isLastOp
– 僅當此操作是其交易中的最後一個操作時才存在。存在時,其會設定為true
。有助於確保取用整個交易。
totalRecords
– 回應中的記錄總數。
例如,下列回應會針對包含多項操作的交易傳回 Gremlin 變更資料:
{ "lastEventId": { "commitNum": 12, "opNum": 1 }, "lastTrxTimestamp": 1560011610678, "format": "PG_JSON", "records": [ { "commitTimestamp": 1560011610678, "eventId": { "commitNum": 1, "opNum": 1 }, "data": { "id": "d2b59bf8-0d0f-218b-f68b-2aa7b0b1904a", "type": "vl", "key": "label", "value": { "value": "vertex", "dataType": "String" } }, "op": "ADD" } ], "totalRecords": 1 }
下列回應會傳回交易中最後一個操作 (交易編號 97 EventId(97, 1)
中由 識別的操作) SPARQL的變更資料。
{ "lastEventId": { "commitNum": 97, "opNum": 1 }, "lastTrxTimestamp": 1561489355102, "format": "NQUADS", "records": [ { "commitTimestamp": 1561489355102, "eventId": { "commitNum": 97, "opNum": 1 }, "data": { "stmt": "<https://test.com/s> <https://test.com/p> <https://test.com/o> .\n" }, "op": "ADD", "isLastOp": true } ], "totalRecords": 1 }