Neptune Streams 示例 - Amazon Neptune

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

Neptune Streams 示例

以下示例显示如何访问 Amazon Neptune 中的更改日志流数据。

AT_SEQUENCE_NUMBER 更改日志

以下示例显示了 Gremlin 或 openCypher AT_SEQUENCE_NUMBER更改日志。

curl -s "https://Neptune-DNS:8182/propertygraph/stream?limit=1&commitNum=1&opNum=1&iteratorType=AT_SEQUENCE_NUMBER" |jq { "lastEventId": { "commitNum": 1, "opNum": 1 }, "lastTrxTimestamp": 1560011610678, "format": "PG_JSON", "records": [ { "eventId": { "commitNum": 1, "opNum": 1 }, "commitTimestamp": 1560011610678, "data": { "id": "d2b59bf8-0d0f-218b-f68b-2aa7b0b1904a", "type": "vl", "key": "label", "value": { "value": "vertex", "dataType": "String" } }, "op": "ADD", "isLastOp": true } ], "totalRecords": 1 }

此SPARQL示例显示了AT_SEQUENCE_NUMBER更改日志的示例。

curl -s "https://localhost:8182/sparql/stream?limit=1&commitNum=1&opNum=1&iteratorType=AT_SEQUENCE_NUMBER" |jq { "lastEventId": { "commitNum": 1, "opNum": 1 }, "lastTrxTimestamp": 1571252030566, "format": "NQUADS", "records": [ { "eventId": { "commitNum": 1, "opNum": 1 }, "commitTimestamp": 1571252030566, "data": { "stmt": "<https://test.com/s> <https://test.com/p> <https://test.com/o> .\n" }, "op": "ADD", "isLastOp": true } ], "totalRecords": 1 }

AFTER_SEQUENCE_NUMBER 更改日志

以下示例显示了 Gremlin 或 openCypher AFTER_SEQUENCE_NUMBER更改日志。

curl -s "https://Neptune-DNS:8182/propertygraph/stream?limit=1&commitNum=1&opNum=1&iteratorType=AFTER_SEQUENCE_NUMBER" |jq { "lastEventId": { "commitNum": 2, "opNum": 1 }, "lastTrxTimestamp": 1560011633768, "format": "PG_JSON", "records": [ { "commitTimestamp": 1560011633768, "eventId": { "commitNum": 2, "opNum": 1 }, "data": { "id": "d2b59bf8-0d0f-218b-f68b-2aa7b0b1904a", "type": "vl", "key": "label", "value": { "value": "vertex", "dataType": "String" } }, "op": "REMOVE", "isLastOp": true } ], "totalRecords": 1 }

TRIM_HORIZON 更改日志

以下示例显示了 Gremlin 或 openCypher TRIM_HORIZON更改日志。

curl -s "https://Neptune-DNS:8182/propertygraph/stream?limit=1&iteratorType=TRIM_HORIZON" |jq { "lastEventId": { "commitNum": 1, "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", "isLastOp": true } ], "totalRecords": 1 }

LATEST 更改日志

以下示例显示了 Gremlin 或 openCypher LATEST更改日志。请注意,API参数limitcommitNum、和opNum是完全可选的。

curl -s "https://Neptune-DNS:8182/propertygraph/stream?iteratorType=LATEST" | jq { "lastEventId": { "commitNum": 21, "opNum": 4 }, "lastTrxTimestamp": 1634710497743, "format": "PG_JSON", "records": [ { "commitTimestamp": 1634710497743, "eventId": { "commitNum": 21, "opNum": 4 }, "data": { "id": "24be4e2b-53b9-b195-56ba-3f48fa2b60ac", "type": "e", "key": "label", "value": { "value": "created", "dataType": "String" }, "from": "4", "to": "5" }, "op": "REMOVE", "isLastOp": true } ], "totalRecords": 1 }

压缩更改日志

以下示例显示了 Gremlin 或 openCypher 压缩更改日志。

curl -sH \ "Accept-Encoding: gzip" \ "https://Neptune-DNS:8182/propertygraph/stream?limit=1&commitNum=1" \ -H "Accept-Encoding: gzip" \ -v |gunzip -|jq > GET /propertygraph/stream?limit=1 HTTP/1.1 > Host: localhost:8182 > User-Agent: curl/7.64.0 > Accept: / > Accept-Encoding: gzip *> Accept-Encoding: gzip* > < HTTP/1.1 200 OK < Content-Type: application/json; charset=UTF-8 < Connection: keep-alive *< content-encoding: gzip* < content-length: 191 < { [191 bytes data] Connection #0 to host localhost left intact { "lastEventId": "1:1", "lastTrxTimestamp": 1558942160603, "format": "PG_JSON", "records": [ { "commitTimestamp": 1558942160603, "eventId": "1:1", "data": { "id": "v1", "type": "vl", "key": "label", "value": { "value": "person", "dataType": "String" } }, "op": "ADD", "isLastOp": true } ], "totalRecords": 1 }