多部分 SPARQL 响应的可选 HTTP 尾随标头 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

多部分 SPARQL 响应的可选 HTTP 尾随标头

注意

此功能可以从Neptune 引擎发布 1.0.3.0.

对 SPARQL 查询和更新的 HTTP 响应通常会在多个部分或区块中返回。可能很难诊断在查询或更新开始发送这些数据块后发生的故障,尤其是因为第一个区块带有 HTTP 状态码200.

除非你明确请求尾随标题,否则 Neptune 只会通过向消息正文附加一条错误消息来报告此类故障,该消息通常已损坏。

为了更容易检测和诊断此类问题,您可以添加传输编码 (TE) 预告片头(te: trailers)在你的请求中(例如,请参阅关于 TE 请求标头的 MDN 页面)。这样做将导致 Neptune 在响应块的尾随标题中包含两个新的标题字段:

  • X-Neptune-Status— 包含响应代码后跟短名称。例如,成功的情况下,尾随标题将是:X-Neptune-Status: 200 OK. 在失败的情况下,响应代码将是Neptune 引擎错误代码例如X-Neptune-Status: 500 TimeLimitExceededException.

  • X-Neptune-Detail— 对于成功的请求为空。在出现错误的情况下,它包含 JSON 错误消息。由于 HTTP 标头值中只允许使用 ASCII 字符,因此 JSON 字符串是 URL 编码的。错误消息还会附加到响应消息正文中。