View a markdown version of this page

Neptune Loader 示例 Get-Status errorLogs - Amazon Neptune

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Neptune Loader 示例 Get-Status errorLogs

以下示例展示了在数据加载过程中出现错误时,Neptune 加载程序发出的详细状态响应。这些示例说明了响应的结构,包括有关失败的馈送、总体状态和详细错误日志的信息。

错误发生时的详细状态响应示例

这是使用 curl 通过 HTTP GET 发送的请求:

AWS CLI
aws neptunedata get-loader-job-status \ --endpoint-url https://your-neptune-endpoint:port \ --load-id 0a237328-afd5-4574-a0bc-c29ce5f54802 \ --details \ --errors \ --errors-per-page 3 \ --page 1

有关更多信息,请参阅《 AWS CLI 命令参考》get-loader-job-status中的。

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.get_loader_job_status( loadId='0a237328-afd5-4574-a0bc-c29ce5f54802', details=True, errors=True, errorsPerPage=3, page=1 ) print(response)
awscurl
awscurl 'https://your-neptune-endpoint:port/loader/0a237328-afd5-4574-a0bc-c29ce5f54802?details=true&errors=true&page=1&errorsPerPage=3' \ --region us-east-1 \ --service neptune-db
注意

此示例假设您的 AWS 证书是在您的环境中配置的。us-east-1替换为 Neptune 集群的区域。

curl
curl -X GET 'https://your-neptune-endpoint:port/loader/0a237328-afd5-4574-a0bc-c29ce5f54802?details=true&errors=true&page=1&errorsPerPage=3'
例属于出现错误时的详细响应

这是您可能从上面的查询中得到的响应的示例,其中 errorLogs 对象列出了遇到的加载错误:

{ "status" : "200 OK", "payload" : { "failedFeeds" : [ { "datatypeMismatchErrors" : 0, "fullUri" : "s3://bucket/key", "insertErrors" : 0, "parsingErrors" : 5, "retryNumber" : 0, "runNumber" : 1, "status" : "LOAD_FAILED", "totalDuplicates" : 0, "totalRecords" : 5, "totalTimeSpent" : 3.0 } ], "feedCount" : [ { "LOAD_FAILED" : 1 } ], "overallStatus" : { "datatypeMismatchErrors" : 0, "fullUri" : "s3://bucket/key", "insertErrors" : 0, "parsingErrors" : 5, "retryNumber" : 0, "runNumber" : 1, "status" : "LOAD_FAILED", "totalDuplicates" : 0, "totalRecords" : 5, "totalTimeSpent" : 3.0 }, "errors" : { "endIndex" : 3, "errorLogs" : [ { "errorCode" : "PARSING_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "s3://bucket/key", "recordNum" : 1 }, { "errorCode" : "PARSING_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "s3://bucket/key", "recordNum" : 2 }, { "errorCode" : "PARSING_ERROR", "errorMessage" : "Expected '<', found: |", "fileName" : "s3://bucket/key", "recordNum" : 3 } ], "loadId" : "0a237328-afd5-4574-a0bc-c29ce5f54802", "startIndex" : 1 } } }

Data prefetch task interrupted 错误示例

在某些情况下,当您收到 LOAD_FAILED 状态,然后请求详细信息时,返回的错误可能是 PARSING_ERROR 以及 Data prefetch task interrupted 消息,如下所示:

"errorLogs" : [ { "errorCode" : "PARSING_ERROR", "errorMessage" : "Data prefetch task interrupted: Data prefetch task for 11467 failed", "fileName" : "s3://amzn-s3-demo-bucket/some-source-file", "recordNum" : 0 } ]

在数据加载过程中发生临时中断时会出现此错误,这种中断一般不是由您的请求或数据导致的。这通常可以通过再次运行批量上传请求加以解决。如果您使用的是默认设置,即 "mode":"AUTO""failOnError":"TRUE",则在发生中断时,加载程序会跳过已经成功加载的文件,并继续加载尚未加载的文件。