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

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

用于多部分 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 编码的。错误消息还会附加到响应消息正文中。