本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Neptune 直播响应格式 API
对 Neptune Streams REST API 请求的响应包含以下字段:
-
lastEventId
– 流响应中最后一次更改的序列标识符。事件 ID 由两个字段组成:commitNum
标识更改图形的事务,opNum
标识该事务中的特定操作。如以下示例所示。"eventId": { "commitNum": 12, "opNum": 1 }
lastTrxTimestamp
– 请求提交事务的时间(使用 Unix 纪元时间表示,单位为毫秒)。format
– 返回的更改记录的序列化格式。可能的值PG_JSON
适用于 Gremlin 或 openCypher 变更记录,以及NQUADS
SPARQL变更记录。-
records
– 包含在响应中的序列化更改日志流记录的数组。records
数组中的每条记录都包含以下字段:commitTimestamp
– 请求提交事务的时间(使用 Unix 纪元时间表示,单位为毫秒)。eventId
– 流更改记录的序列标识符。data
— 序列化的 GremlinSPARQL,或 OpenCypher 变更记录。下一部分Neptune Streams 中的序列化格式中更详细地介绍了每个记录的序列化格式。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 }