Neptune 載入器 Get-Status 回應 - Amazon Neptune

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

Neptune 載入器 Get-Status 回應

下列 Neptune Get-Status 的範例回應API說明回應的整體結構、說明各種欄位及其資料類型,以及錯誤處理和錯誤日誌詳細資訊。

Neptune Loader Get-Status Response JSON版面配置

載入器狀態回應的一般配置如下:

{ "status" : "200 OK", "payload" : { "feedCount" : [ { "LOAD_FAILED" : number } ], "overallStatus" : { "fullUri" : "s3://bucket/key", "runNumber" : number, "retryNumber" : number, "status" : "string", "totalTimeSpent" : number, "startTime" : number, "totalRecords" : number, "totalDuplicates" : number, "parsingErrors" : number, "datatypeMismatchErrors" : number, "insertErrors" : number, }, "failedFeeds" : [ { "fullUri" : "s3://bucket/key", "runNumber" : number, "retryNumber" : number, "status" : "string", "totalTimeSpent" : number, "startTime" : number, "totalRecords" : number, "totalDuplicates" : number, "parsingErrors" : number, "datatypeMismatchErrors" : number, "insertErrors" : number, } ], "errors" : { "startIndex" : number, "endIndex" : number, "loadId" : "string, "errorLogs" : [ ] } } }

Neptune 載入器 Get-Status overallStatusfailedFeeds 回應物件

針對每個失敗饋送傳回的可能回應 (包括錯誤描述) 與 Get-Status 回應中的 overallStatus 物件相同。

以下欄位會出現在所有載入的 overallStatus 物件中,以及每個失敗饋送的 failedFeeds 物件中。

  • fullUri – 要載入的檔案或檔案URI的 。

    類型:字串

    格式s3://bucket/key

  • runNumber – 此載入或饋送的執行數量。它會在載入重新啟動時遞增。

    類型:unsigned long

  • retryNumber – 此載入或饋送的重試次數。它會在載入器自動重試饋送或載入時遞增。

    類型:unsigned long

  • status – 載入或饋送傳回的狀態。LOAD_COMPLETED 表示成功載入,沒有發生問題。如需其他 load-status 訊息的清單,請參閱 Neptune 載入器的錯誤和饋送訊息

    類型:字串

  • totalTimeSpent – 載入或饋送時用於剖析及插入資料的時間 (以秒為單位)。這不包含擷取原始檔案清單所花費的時間。

    類型:unsigned long

  • totalRecords – 已載入或嘗試載入的記錄總數。

    類型:unsigned long

    請注意,從CSV檔案載入時,記錄計數不代表載入的行數,而是代表這些行中的個別記錄數。例如,採取如下的小型CSV檔案:

    ~id,~label,name,team 'P-1','Player','Stokes','England'

    Neptune 會認為這個檔案包含 3 筆記錄,即:

    P-1 label Player P-1 name Stokes P-1 team England
  • totalDuplicates – 遇到的重複記錄數目。

    類型:unsigned long

    totalRecords計數一樣,此值包含CSV檔案中個別重複記錄的數量,而不是重複行的數量。使用這個小型CSV檔案,例如:

    ~id,~label,name,team P-2,Player,Kohli,India P-2,Player,Kohli,India

    載入它之後傳回的狀態看起來像這樣,總共報告了 6 筆記錄,其中 3 筆是重複的:

    { "status": "200 OK", "payload": { "feedCount": [ { "LOAD_COMPLETED": 1 } ], "overallStatus": { "fullUri": "(the URI of the CSV file)", "runNumber": 1, "retryNumber": 0, "status": "LOAD_COMPLETED", "totalTimeSpent": 3, "startTime": 1662131463, "totalRecords": 6, "totalDuplicates": 3, "parsingErrors": 0, "datatypeMismatchErrors": 0, "insertErrors": 0 } } }

    對於 openCypher 負載,重複項目會在下列情況下計數:

    • 載入器偵測到節點檔案中的資料列具有一個未含 ID 空間的 ID,其與另一個未含 ID 空間的 ID 值相同,不是在另一個資料列中,就是屬於現有節點。

    • 載入器偵測到節點檔案中的資料列具有一個含 ID 空間的 ID,其與另一個含 ID 空間的 ID 值相同,不是在另一個資料列中,就是屬於現有節點。

    請參閱 載入 openCypher 資料的特殊考量

  • parsingErrors – 遇到的剖析錯誤數目。

    類型:unsigned long

  • datatypeMismatchErrors – 資料類型與給定資料不符的記錄數目。

    類型:unsigned long

  • insertErrors – 由於錯誤而無法插入的記錄數目。

    類型:unsigned long

Neptune 載入器 Get-Status errors 回應物件

錯誤分為以下類別:

  • Error 400 – 無效 loadId傳回HTTP400錯誤的請求錯誤。描述錯誤的訊息。

  • Error 500 – 無法處理的有效請求會傳回HTTP500內部伺服器錯誤。描述錯誤的訊息。

如需載入器在發生錯誤時傳回的錯誤和饋送訊息清單,請參閱 Neptune 載入器的錯誤和饋送訊息

發生錯誤時,回應BODY的 中會傳回JSONerrors物件,其中包含下列欄位:

  • startIndex – 第一個包含的錯誤的索引。

    類型:unsigned long

  • endIndex – 最後一個包含的錯誤的索引。

    類型:unsigned long

  • loadId – 載入的 ID。您可以使用此 ID 並將 errors 參數設為 TRUE 以列印載入的錯誤。

    類型:字串

  • errorLogs – 錯誤清單。

    類型:清單

Neptune 載入器 Get-Status errorLogs 回應物件

載入器 Get-Status 回應中 errors 下的 errorLogs 物件包含使用下列欄位描述每個錯誤的物件:

  • errorCode – 識別錯誤的本質。

    它可以採取下列其中一個值:

    • PARSING_ERROR

    • S3_ACCESS_DENIED_ERROR

    • FROM_OR_TO_VERTEX_ARE_MISSING

    • ID_ASSIGNED_TO_MULTIPLE_EDGES

    • SINGLE_CARDINALITY_VIOLATION

    • FILE_MODIFICATION_OR_DELETION_ERROR

    • OUT_OF_MEMORY_ERROR

    • INTERNAL_ERROR (當大量載入器無法確定錯誤類型時傳回)。

  • errorMessage – 描述錯誤的訊息。

    這可以是與錯誤代碼相關聯的一般訊息,或包含詳細資訊的特定訊息,例如關於遺失來源/目標頂點或關於剖析錯誤。

  • fileName – 饋送的名稱。

  • recordNum – 在發生剖析錯誤的情況下,這是無法剖析的記錄在檔案中的記錄編號。如果記錄編號不適用於錯誤,或無法確定,則其設定為零。

例如,如果大量載入器在RDFnquads檔案中遇到故障資料列,例如下列資料列,則會產生剖析錯誤:

<http://base#subject> |http://base#predicate> <http://base#true> .

如您所見,上面資料列中的第二個 http 應該在其前加上 < 而不是 |。狀態回應中 errorLogs 下產生的錯誤物件看起來像這樣:

{ "errorCode" : "PARSING_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "s3://bucket/key", "recordNum" : 12345 },