Neptune 直播响应格式 API - Amazon Neptune

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Neptune 直播响应格式 API

对 Neptune Streams REST API 请求的响应包含以下字段:

  • lastEventId – 流响应中最后一次更改的序列标识符。事件 ID 由两个字段组成:commitNum 标识更改图形的事务,opNum 标识该事务中的特定操作。如以下示例所示。

    "eventId": { "commitNum": 12, "opNum": 1 }
  • lastTrxTimestamp – 请求提交事务的时间(使用 Unix 纪元时间表示,单位为毫秒)。

  • format – 返回的更改记录的序列化格式。可能的值PG_JSON适用于 Gremlin 或 openCypher 变更记录,以及NQUADSSPARQL变更记录。

  • 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 }