Neptune 查詢 API - Amazon Neptune

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

Neptune 查詢 API

Gremlin 查詢動作:

openCypher 查詢動作:

查詢結構:

ExecuteGremlinQuery (動作)

        此 API 的 AWS CLI 名稱是:execute-gremlin-query

此命令會執行一個 Gremlin 查詢。Amazon Neptune 與 Apache TinkerPP3 和 Gremlin 相容,因此您可以使用 Gremlin 周遊語言來查詢圖形,如 Apache TinkerPop3 文件中的圖形下所述。更多詳細資訊也可以在使用 Gemlin 存取 Neptune 圖形中找到。

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中啟用下列其中一個 IAM 動作,取決於查詢:

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:Gremlin IAM 條件金鑰,以限制 Grimlin 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • gremlinQuery (在 CLI 中:--gremlin-query) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    使用此 API,您可以像使用 HTTP 端點一樣以字串格式執行 Gremlin 查詢。介面與您的資料庫叢集正在使用的任何 Gremlin 版本相容 (請參閱 Tinkerpop 用戶端一節以確定引擎版本支援的 Gemlin 版本)。

  • serializer (在 CLI 中:--serializer) – 字串,類型為:string (UTF-8 編碼的字串)。

    若為非 null,則會依此參數指定的格式,以序列化回應訊息傳回查詢結果。如需目前支援的格式清單,請參閱 TinkerPop 文件中的 GraphSON 一節。

回應

  • meta – 文件,類型為:document (與通訊協定無關的開放內容,由類似 JSON 的資料模型表示)。

    關於 Gremlin 查詢的中繼資料。

  • requestId – 字串,類型為:string (UTF-8 編碼的字串)。

    Gremlin 查詢的唯一識別符。

  • result – 文件,類型為:document (與通訊協定無關的開放內容,由類似 JSON 的資料模型表示)。

    來自伺服器的 Gremlin 查詢輸出。

  • statusGremlinQueryStatusAttributes 物件。

    Gremlin 查詢的狀態。

ExecuteGremlinExplainQuery (動作)

        此 API 的 AWS CLI 名稱是:execute-gremlin-explain-query

執行 Gremlin Explain 查詢。

Amazon Neptune 新增了名為 explain 的 Gremlin 功能,其是一種自助式工具,用於了解 Neptune 引擎為查詢採取的執行方法。您透過將 explain 參數新增到提交 Gremlin 查詢的 HTTP 呼叫,來進行叫用。

Explain 功能可提供查詢執行計劃邏輯結構的相關資訊。您可以使用此資訊來識別潛在的評估和執行瓶頸,並調校您的查詢,如調校 Gremlin 查詢中所述。您也可以使用查詢提示,以改善查詢執行計劃。

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許下列其中一個 IAM 動作,取決於查詢:

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:Gremlin IAM 條件金鑰,以限制 Grimlin 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • gremlinQuery (在 CLI 中:--gremlin-query) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    Gremlin Explain 查詢字串。

回應

  • output – ReportAsText,類型為:blob (未解譯的二進位資料區塊)。

    包含 Gemlin Explain 結果的文字 Blob,如調校 Gremlin 查詢中所述。

ExecuteGremlinProfileQuery (動作)

        此 API 的 AWS CLI 名稱是:execute-gremlin-profile-query

執行 Gremlin 設定檔查詢,其會執行指定的 Gremlin 周遊、收集各種有關執行的指標,以及產生設定檔報告做為輸出。如需詳細資訊,請參閱 Neptune 中的 Gremlin 設定檔 API

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:ReadDataViaQuery IAM 動作。

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:Gremlin IAM 條件金鑰,以限制 Grimlin 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • chop (在 CLI 中:--chop) – 整數,類型為:integer (帶正負號的 32 位元整數)。

    若為非零,則會在該字元數處截斷結果字串。若設定為零,則字串會包含所有結果。

  • gremlinQuery (在 CLI 中:--gremlin-query) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    要分析的 Gremlin 查詢字串。

  • indexOps (在 CLI 中:--index-ops) – 布林值,類型為:boolean (布林值 (true 或 false))。

    如果此旗標設定為 TRUE,則結果會包括查詢執行和序列化期間所發生之所有索引操作的詳細報告。

  • results (在 CLI 中:--results) – 布林值,類型為:boolean (布林值 (true 或 false))。

    如果此旗標設定為 TRUE,則會收集查詢結果,並將其顯示為設定檔報告的一部分。若為 FALSE,則只會顯示結果計數。

  • serializer (在 CLI 中:--serializer) – 字串,類型為:string (UTF-8 編碼的字串)。

    若為非 null,則會依此參數指定的格式,以序列化回應訊息傳回所收集的結果。如需詳細資訊,請參閱 Neptune 中的 Gremlin 設定檔 API

回應

  • output – ReportAsText,類型為:blob (未解譯的二進位資料區塊)。

    包含 Gremlin 設定檔結果的文字 Blob。如需詳細資訊,請參閱 Neptune 中的 Gremlin 設定檔 API

ListGremlinQueries (動作)

        此 API 的 AWS CLI 名稱是:list-gremlin-queries

列出作用中的 Gremlin 查詢。如需輸出的詳細資訊,請參閱 Gremlin 查詢狀態 API

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:GetQueryStatus IAM 動作。

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:Gremlin IAM 條件金鑰,以限制 Grimlin 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • includeWaiting (在 CLI 中:--include-waiting) – 布林值,類型為:boolean (布林值 (true 或 false))。

    如果設定為 TRUE,則傳回的清單會包含等待中查詢。預設值為 FALSE

回應

  • acceptedQueryCount – 整數,類型為:integer (帶正負號的 32 位元整數)。

    已接受但尚未完成的查詢數目,包括佇列中的查詢。

  • queries – 一個 GremlinQueryStatus 物件陣列。

    目前查詢的清單。

  • runningQueryCount – 整數,類型為:integer (帶正負號的 32 位元整數)。

    目前執行中 Gremlin 查詢的數量。

GetGremlinQueryStatus (動作)

        此 API 的 AWS CLI 名稱是:get-gremlin-query-status

取得所指定 Gemlin 查詢的狀態。

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:GetQueryStatus IAM 動作。

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:Gremlin IAM 條件金鑰,以限制 Grimlin 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • queryId (在 CLI 中:--query-id) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    識別 Gemlin 查詢的唯一識別符。

回應

  • queryEvalStatsQueryEvalStats 物件。

    Gremlin 查詢的評估狀態。

  • queryId – 字串,類型為:string (UTF-8 編碼的字串)。

    要傳回其狀態之查詢的 ID。

  • queryString – 字串,類型為:string (UTF-8 編碼的字串)。

    Gremlin 查詢字串。

CancelGremlinQuery (動作)

        此 API 的 AWS CLI 名稱是:cancel-gremlin-query

取消 Gremlin 查詢。如需詳細資訊,請參閱 Gemlin 查詢取消

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:CancelQuery IAM 動作。

請求

  • queryId (在 CLI 中:--query-id) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    識別要取消之查詢的唯一識別符。

回應

  • status – 字串,類型為:string (UTF-8 編碼的字串)。

    取消的狀態

openCypher 查詢動作:

ExecuteOpenCypherQuery (動作)

        此 API 的 AWS CLI 名稱是:execute-open-cypher-query

執行 openCypher 查詢。如需詳細資訊,請參閱使用 OpenCypher 存取 Neptune 圖形

Neptune 支援使用 OpenCypher 建置圖形,OpenCypher 是使用圖形資料庫的開發人員之間目前最熱門的其中一個查詢語言。開發人員、商務分析師和資料科學家都愛用 OpenCypher 的宣告式、SQL 啟發語法,因為它提供了查詢屬性圖的熟悉結構。

OpenCypher 語言最初是由 Neo4j 開發,然後在 2015 年成為開放原始碼,並在 Apache 2 開放原始碼授權下投入 OpenCypher 專案

請注意,在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許下列其中一個 IAM 動作,取決於查詢:

另請注意,可以在政策文件中使用 neptune-db:QueryLanguage:OpenCypher IAM 條件金鑰,以限制 openCypher 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • openCypherQuery (在 CLI 中:--open-cypher-query) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    要執行的 openCypher 查詢字串。

  • parameters (在 CLI 中:--parameters) – 字串,類型為:string (UTF-8 編碼的字串)。

    用於查詢執行的 openCypher 查詢參數。如需詳細資訊,請參閱 OpenCypher 參數化查詢的範例

回應

  • results必要:文件,類型為:document (與通訊協定無關的開放內容,由類似 JSON 的資料模型表示)。

    openCypher 查詢結果。

ExecuteOpenCypherExplainQuery (動作)

        此 API 的 AWS CLI 名稱是:execute-open-cypher-explain-query

執行 openCypher explain 請求。如需詳細資訊,請參閱 openCypher Explain 功能

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:ReadDataViaQuery IAM 動作。

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:OpenCypher IAM 條件金鑰,以限制 openCypher 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • explainMode (在 CLI 中:--explain-mode) – 必要:OpenCypherExplainMode,類型為:string (UTF-8 編碼的字串)。

    openCypher explain 模式。可以是下列其中一個:staticdynamicdetails

  • openCypherQuery (在 CLI 中:--open-cypher-query) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    openCypher 查詢字串。

  • parameters (在 CLI 中:--parameters) – 字串,類型為:string (UTF-8 編碼的字串)。

    openCypher 查詢參數。

回應

  • results必要:Blob,類型為:blob (未解譯的二進位資料區塊)。

    包含 openCypher explain 結果的文字 Blob。

ListOpenCypherQueries (動作)

        此 API 的 AWS CLI 名稱是:list-open-cypher-queries

列出作用中的 openCypher 查詢。如需詳細資訊,請參閱 Neptune OpenCypher 狀態端點

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:GetQueryStatus IAM 動作。

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:OpenCypher IAM 條件金鑰,以限制 openCypher 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • includeWaiting (在 CLI 中:--include-waiting) – 布林值,類型為:boolean (布林值 (true 或 false))。

    當設定為 TRUE 且其他參數不存在時,這會導致針對等待中查詢以及執行中查詢傳回狀態資訊。

回應

  • acceptedQueryCount – 整數,類型為:integer (帶正負號的 32 位元整數)。

    已接受但尚未完成的查詢數目,包括佇列中的查詢。

  • queries – 一個 GremlinQueryStatus 物件陣列。

    目前 openCypher 查詢的清單。

  • runningQueryCount – 整數,類型為:integer (帶正負號的 32 位元整數)。

    目前執行中的 openCypher 查詢數量。

GetOpenCypherQueryStatus (動作)

        此 API 的 AWS CLI 名稱是:get-open-cypher-query-status

擷取所指定 OpenCypher 查詢的狀態。

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:GetQueryStatus IAM 動作。

請注意,可以在政策文件中使用 neptune-db:QueryLanguage:OpenCypher IAM 條件金鑰,以限制 openCypher 查詢的使用 (請參閱 Neptune IAM 資料存取政策陳述式中可用的條件金鑰)。

請求

  • queryId (在 CLI 中:--query-id) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    要擷取其查詢狀態之 OpenCypher 查詢的唯一 ID。

回應

  • queryEvalStatsQueryEvalStats 物件。

    openCypher 查詢評估狀態。

  • queryId – 字串,類型為:string (UTF-8 編碼的字串)。

    要傳回其狀態之查詢的唯一 ID。

  • queryString – 字串,類型為:string (UTF-8 編碼的字串)。

    openCypher 查詢字串。

CancelOpenCypherQuery (動作)

        此 API 的 AWS CLI 名稱是:cancel-open-cypher-query

取消指定的 openCypher 查詢。如需詳細資訊,請參閱 Neptune OpenCypher 狀態端點

在已啟用 IAM 身分驗證的 Neptune 叢集中調用此操作時,發出請求的 IAM 使用者或角色必須附加一個政策,在該叢集中允許 neptune-db:CancelQuery IAM 動作。

請求

  • queryId (在 CLI 中:--query-id) – 必要:字串,類型為:string (UTF-8 編碼的字串)。

    要取消之 openCypher 查詢的唯一 ID。

  • silent (在 CLI 中:--silent) – 布林值,類型為:boolean (布林值 (true 或 false))。

    如果設定為 TRUE,則會導致以無訊息方式取消 OpenCypher 查詢。

回應

  • payload – 布林值,類型為:boolean (布林值 (true 或 false))。

    用於 openCypher 查詢的取消承載。

  • status – 字串,類型為:string (UTF-8 編碼的字串)。

    openCypher 查詢的取消狀態。

查詢結構:

QueryEvalStats (結構)

要擷取查詢統計資料的結構,例如執行、接受或等待的查詢數目及其詳細資料。

欄位
  • cancelled - 這是布林值,類型為:boolean (布林值 (true 或 false))。

    如果查詢已取消,則設定為 TRUE,否則設定為 FALSE。

  • elapsed - 這是整數,類型為:integer (帶正負號的 32 位元整數)。

    到目前為止查詢已執行的毫秒數。

  • subqueries - 這是一份文件,類型為:document (與通訊協定無關的開放內容,由類似 JSON 的資料模型表示)。

    此查詢中的子查詢數目。

  • waited - 這是整數,類型為:integer (帶正負號的 32 位元整數)。

    指出查詢已等待多長時間 (以毫秒為單位)。

GremlinQueryStatus (結構)

擷取 Gremlin 查詢的狀態 (請參閱 Gremlin 查詢狀態 API 頁面)。

欄位
  • queryEvalStats - 這是一個 QueryEvalStats 物件。

    Gremlin 查詢的狀態統計資料。

  • queryId - 這是字串,類型為:string (UTF-8 編碼的字串)。

    Gremlin 查詢的 ID。

  • queryString - 這是字串,類型為:string (UTF-8 編碼的字串)。

    Gremlin 查詢的查詢字串。

GremlinQueryStatusAttributes (結構)

包含 Gremlin 查詢的狀態元件。

欄位
  • attributes - 這是一份文件,類型為:document (與通訊協定無關的開放內容,由類似 JSON 的資料模型表示)。

    Gremlin 查詢狀態的屬性。

  • code - 這是整數,類型為:integer (帶正負號的 32 位元整數)。

    從 Gremlin 查詢請求傳回的 HTTP 回應代碼。

  • message - 這是字串,類型為:string (UTF-8 編碼的字串)。

    狀態訊息。