本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Neptune 加载程序获取状态响应
以下来自 Neptune Get-Status 的示例响应API描述了响应的总体结构,解释了各种字段及其数据类型,以及错误处理和错误日志的详细信息。
Neptune Loader 获取状态响应布局 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 加载程序获取状态 overallStatus
和 failedFeeds
响应对象
为每个失败馈送返回的可能响应(包括错误描述)与 Get-Status
响应中的 overallStatus
对象相同。
以下字段显示在所有负载的 overallStatus
对象中,以及每个失败馈送的 failedFeeds
对象中:
-
fullUri
— 要加载URI的一个或多个文件。类型:字符串
格式:
s3://
。bucket
/key
-
runNumber
– 此加载或馈送的运行编号。此编号将在加载重新启动时增加。类型:无符号整数
-
retryNumber
– 此加载或馈送的重试编号。此编号将在加载程序自动重试馈送或加载时递增。类型:无符号整数
-
status
– 返回的加载状态或馈送状态。LOAD_COMPLETED
指示加载成功,无问题。有关其它加载状态消息的列表,请参阅Neptune 加载程序错误和源消息。类型:字符串。
-
totalTimeSpent
– 解析并插入以进行加载或馈送的数据所耗费的时间(秒)。这不包括提取源文件列表所耗费时间。类型:无符号整数
-
totalRecords
– 已加载或尝试加载的记录总数。类型:无符号整数
请注意,从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
– 遇到的重复记录的数量。类型:无符号整数
与
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 与另一个有 ID 空间的 ID 值相同,无论是在另一行中还是属于现有节点。
-
parsingErrors
– 遇到的解析错误的数量。类型:无符号整数
-
datatypeMismatchErrors
– 数据类型与给定的数据不匹配的记录的数量。类型:无符号整数
-
insertErrors
– 由于错误而无法插入的记录的数量。类型:无符号整数
Neptune 加载程序获取状态 errors
响应对象
错误分为以下几类:
Error 400
— 无效loadId
会返回HTTP400
错误的请求错误。此消息描述错误。Error 500
— 无法处理的有效请求会返回HTTP500
内部服务器错误。此消息描述错误。
有关加载程序在出现错误时返回的错误和馈送消息的列表,请参阅Neptune 加载程序错误和源消息。
发生错误时,将在响应中返回一个JSONerrors
对象,BODY
其中包含以下字段:
-
startIndex
– 包含的第一个错误的索引。类型:无符号整数
-
endIndex
– 包含的最后一个错误的索引。类型:无符号整数
-
loadId
– 加载的 ID。可通过将errors
参数设置为TRUE
来使用此 ID 打印错误。类型:字符串。
-
errorLogs
– 错误列表。类型:列表
Neptune 加载程序获取状态 errorLogs
响应对象
加载程序获取状态响应中 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
},