本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 overallStatus
和 failedFeeds
回應物件
針對每個失敗饋送傳回的可能回應 (包括錯誤描述) 與 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 值相同,不是在另一個資料列中,就是屬於現有節點。
-
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
},