呼叫 Neptune 串流 REST API - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

呼叫 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/stream) 正被棄用,以及其相關聯的輸出格式 (GREMLIN_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 (預設值) – 指出讀取應該從 commitNumopNum 參數共同指定的事件序號開始。

    • AFTER_SEQUENCE_NUMBER – 指出讀取應該在 commitNumopNum 參數共同指定的事件序號之後立即開始。

    • TRIM_HORIZON – 指出讀取應該從系統中的最後一個未修整記錄開始,這是變更日誌串流中最舊的未過期 (尚未刪除) 記錄。當您沒有特定的開始事件序號時,此模式在應用程式啟動期間很有用。

    • LATEST – 指出讀取應該從系統中的最新記錄開始,這是變更日誌串流中最新的未過期 (尚未刪除) 記錄。當需要從串流的目前頂端讀取記錄,以免處理較舊的記錄 (例如在災難復原或零停機時間升級期間) 時,這會很有用。請注意,在此模式下,最多只會傳回一筆記錄。

  • commitNum – 長,當 iteratorType 為 AT_SEQUENCE_NUMBER或 時為必要AFTER_SEQUENCE_NUMBER

    要從 change-log 串流讀取之開始記錄的遞交編號。

    iteratorTypeTRIM_HORIZONLATEST 時會忽略此參數。

  • opNum – 長整數,選用 (預設為 1)。

    所指定遞交內的操作序號,即在變更日誌串流資料中開始讀取之處。

變更SPARQL圖形資料的操作通常只會為每個操作產生單一變更記錄。不過,變更 Gremlin 圖形資料的操作可能會為每個操作產生多個變更記錄,如以下範例所示:

  • INSERT – Gremlin 頂點可以有多個標籤,而且 Gremlin 元素可以有多個屬性。插入元素時,會為每個標籤和屬性產生個別的變更記錄。

  • UPDATE – 變更 Gremlin 元素屬性時,會產生兩個變更記錄:第一個用於移除先前的值,第二個用於插入新值。

  • DELETE – 系統會針對刪除的每個元素屬性產生個別的變更記錄。例如,刪除具有屬性的 Gremlin 邊緣時,每個屬性都會產生一個變更記錄,之後會產生一個用於刪除邊緣標籤的變更記錄。

    刪除 Gremlin 頂點時,會先刪除所有傳入和傳出邊緣屬性,接著依序刪除邊緣標籤、頂點屬性,最後再刪除頂點標籤。其中每個刪除都會產生一筆變更記錄。