本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Neptune 引擎版本 1.0.4.2.R2(2021 年 6 月 1 日)
截至 2021 年 6 月 1 日,引擎版本 1.0.4.2.R2 正在普遍部署中。请注意,新版本在每个区域的发布需要几天的时间。
此版本的后续补丁版本
此引擎版本中的已知问题
问题:
一个 SPARQL 错误,即如果有空格,则无法支持 Accept
标头中的媒体类型。
例如,使用 -H "Accept: text/csv; q=1.0, */*; q=0.1"
的查询会返回 JSON 输出而不是 CSV 输出。
解决办法:
如果删除标头的 Accept
子句中的空格,则引擎将以正确的请求格式返回输出。换句话说,不使用 -H "Accept: text/csv; q=1.0, */*; q=0.1"
,而是使用:
-H "Accept: text/csv;q=1.0,*/*;q=0.1"
此引擎版本中的新增功能
添加了新的 R5d 实例类型,其中包括一个查找缓存,用于在涉及大量属性值或 RDF 文本查找的用例中加快读取速度。请参阅Neptune 查找缓存可以加快读取查询的速度。
添加了一个新的实验室模式参数,允许仅在每个查询的基础上使用
useDFE
查询提示调用实验性 DFE 引擎。
此引擎版本中的改进
增加了对 TinkerPop 3.4.10 的支持。
增加了对在发送 Gremlin 脚本请求时使用
withStrategies( )
配置步骤的支持。具体而言,SubgraphStrategy
、PartitionStrategy
、ReadOnlyStrategy
、EdgeLabelVerificationStrategy
和ReservedKeysVerificationStrategy
都受支持。为查询中间的
V()
遍历添加了优化。以前,在 Neptune 中未对此类遍历进行优化。增加了对 RFC 2141 URN
的支持,以用作批量加载的 baseUri
和namedGraphUri
参数。
在此引擎版本中修复的缺陷
修复了解析器中的一个 Gremlin 错误,即错误的查询被视为有效。
修复了一个 Gremlin 错误,即使用
cap().unfold()
将aggregate()
副作用展开到valueMap()
会引发异常。修复了一个 Gremlin 错误,即
addV()
步骤后的某些property()
步骤失败并出现“无法转换为字符串”错误。修复了一个 Gremlin 错误,以防止某些条件插入模式引发并发修改异常。
修复了一个 Gremlin 错误,以使查询请求的超时现在无法超过会话超时。
修复了一个 SPARQL 错误,也即,当远程服务器不可用时,使用 LOAD 或 UNLOAD 进行更新可能会失败,并显示 HTTP 代码 500 而不是 HTTP 代码 400。
修复了一个错误,也即,当使用大于 32 位有符号整数限制 (2,147,483,647) 的
commitNum
或opNum
值时,流 API 调用失败。
此版本支持的查询语言版本
在将数据库集群升级到版本 1.0.4.2.R2 之前,请确保您的项目与以下查询语言版本兼容:
Gremlin 版本:
3.4.10
SPARQL 版本:
1.1
引擎版本 1.0.4.2.R2 的升级路径
您可以将任何以前的 Neptune 引擎版本手动升级到此版本。
您不会自动升级到此版本。
升级到此版本
Amazon Neptune 1.0.4.2.R2 现已正式发布。
如果数据库集群运行的引擎版本有此版本的升级路径,则可以立即对其进行升级。您可以使用控制台上的数据库集群操作或使用 SDK 升级任何符合条件的集群。以下 CLI 命令将立即升级符合条件的集群:
对于 Linux、OS X 或 Unix:
aws neptune modify-db-cluster \ --db-cluster-identifier
(your-neptune-cluster)
\ --engine-version 1.0.4.2 \ --apply-immediately
对于 Windows:
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.0.4.2 ^ --apply-immediately
更新将同时应用于数据库集群中的所有实例。更新操作要求在所有这些实例上重启数据库,因此,会出现从 20-30 秒到几分钟的停机,之后您可以重新使用数据库集群。
升级前始终先测试
发布新的主要或次要 Neptune 引擎版本时,请务必先在该版本上测试您的 Neptune 应用程序,然后再升级到该版本。即使是次要版本升级,也可能引入会影响代码的新特征或行为。
首先,将当前版本的发行说明页面与目标版本的发行说明页面进行比较,以查看查询语言版本是否会发生变化或是否会发生其它重大更改。
在升级生产数据库集群之前测试新版本的最佳方法是克隆生产集群,以便克隆运行新的引擎版本。然后,您可以在不影响生产数据库集群的情况下在克隆上运行查询。
请在升级之前始终创建手动快照
在执行升级之前,我们强烈建议您始终创建数据库集群的手动快照。拥有自动快照只能提供短期保护,而手动快照在您显式删除它之前仍然可用。
在某些情况下,作为升级过程的一部分,Neptune 会为您创建手动快照,但您不应依赖此快照,无论如何都应创建自己的手动快照。
当您确定不需要将数据库集群恢复到其升级前的状态时,可以显式删除自己创建的手动快照以及 Neptune 可能已创建的手动快照。如果 Neptune 创建手动快照,则其名称将以 preupgrade
开头,后跟数据库集群的名称、源引擎版本、目标引擎版本和日期。
注意
如果您在待处理操作正在进行时尝试升级,则可能会遇到如下错误:
We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.
如果遇到此错误,请等待待处理操作完成,或者立即触发维护时段,让之前的升级完成。
有关升级引擎版本的更多信息,请参阅维护 Amazon Neptune 数据库集群。如果您有任何问题或疑问,可通过社区论坛和 AWS Premium Support