本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
呼叫 Neptune 串流 REST API
您可以使用 存取 Neptune StreamsRESTAPI,該 會將HTTPGET請求傳送至下列其中一個本機端點:
對於SPARQL圖形資料庫:
https://
。Neptune-DNS
:8182/sparql/stream對於 Gremlin 或 openCypher 圖形資料庫:
https://
或Neptune-DNS
:8182/propertygraph/streamhttps://
。Neptune-DNS
:8182/pg/stream
注意
從引擎 1.1.0.0 版開始,Gramlin 串流端點 (https://
) 正被棄用,以及其相關聯的輸出格式 (Neptune-DNS
:8182/gremlin/streamGREMLIN_JSON
) 也一樣。基於回溯相容性仍支援它,但可能會在未來的版本中將其移除。
僅允許 HTTPGET
操作。
Neptune 支援gzip
壓縮回應,前提是HTTP請求包含指定gzip
為可接受壓縮格式的Accept-Encoding
標頭 (即 "Accept-Encoding: gzip"
)。
參數
-
limit
– 長整數 (選用)。範圍:1–100,000。預設值:10指定要傳回的記錄數上限。回應也有無法修改的 10 MB 大小限制,而且會優先於
limit
參數中指定的記錄數量。如果達到 10 MB 限制,回應會包含違反閾值的記錄。 -
iteratorType
– 字串 (選用)。此參數可採用下列其中一個值:
AT_SEQUENCE_NUMBER
(預設值) – 指出讀取應該從commitNum
和opNum
參數共同指定的事件序號開始。AFTER_SEQUENCE_NUMBER
– 指出讀取應該在commitNum
和opNum
參數共同指定的事件序號之後立即開始。TRIM_HORIZON
– 指出讀取應該從系統中的最後一個未修整記錄開始,這是變更日誌串流中最舊的未過期 (尚未刪除) 記錄。當您沒有特定的開始事件序號時,此模式在應用程式啟動期間很有用。LATEST
– 指出讀取應該從系統中的最新記錄開始,這是變更日誌串流中最新的未過期 (尚未刪除) 記錄。當需要從串流的目前頂端讀取記錄,以免處理較舊的記錄 (例如在災難復原或零停機時間升級期間) 時,這會很有用。請注意,在此模式下,最多只會傳回一筆記錄。
-
commitNum
– 長,當 iteratorType 為AT_SEQUENCE_NUMBER
或 時為必要AFTER_SEQUENCE_NUMBER
。要從 change-log 串流讀取之開始記錄的遞交編號。
當
iteratorType
為TRIM_HORIZON
或LATEST
時會忽略此參數。 -
opNum
– 長整數,選用 (預設為1
)。所指定遞交內的操作序號,即在變更日誌串流資料中開始讀取之處。
變更SPARQL圖形資料的操作通常只會為每個操作產生單一變更記錄。不過,變更 Gremlin 圖形資料的操作可能會為每個操作產生多個變更記錄,如以下範例所示:
INSERT
– Gremlin 頂點可以有多個標籤,而且 Gremlin 元素可以有多個屬性。插入元素時,會為每個標籤和屬性產生個別的變更記錄。UPDATE
– 變更 Gremlin 元素屬性時,會產生兩個變更記錄:第一個用於移除先前的值,第二個用於插入新值。-
DELETE
– 系統會針對刪除的每個元素屬性產生個別的變更記錄。例如,刪除具有屬性的 Gremlin 邊緣時,每個屬性都會產生一個變更記錄,之後會產生一個用於刪除邊緣標籤的變更記錄。刪除 Gremlin 頂點時,會先刪除所有傳入和傳出邊緣屬性,接著依序刪除邊緣標籤、頂點屬性,最後再刪除頂點標籤。其中每個刪除都會產生一筆變更記錄。