Neptune 스트림 예제 - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Neptune 스트림 예제

다음 예제는 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 }

이 예제에서는 AT_SEQUENCE_NUMBER 변경 로그의 SPARQL 예제를 보여줍니다.

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 }