本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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参数limit
commitNum
、和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 }