在 Lambda 中使用 Gremlin 写入请求的建议 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Lambda 中使用 Gremlin 写入请求的建议

如果您的 Lambda 函数修改了图形数据,请考虑采用回退并重试策略来处理以下异常:

  • ConcurrentModificationException – Neptune 事务语义意味着写入请求有时会失败并引发 ConcurrentModificationException。在这些情况下,请尝试使用基于指数回退的重试机制。

  • ReadOnlyViolationException – 由于计划内或计划外的事件会导致集群拓扑随时可能发生变化,因此,写入职责可能会从集群中的一个实例迁移到另一个实例。如果您的函数代码尝试向不再是主(写入器)实例的实例发送写入请求,则请求将失败并引发 ReadOnlyViolationException。发生这种情况时,请关闭现有连接,重新连接到集群端点,然后重试请求。

另外,如果您使用回退并重试策略来处理写入请求问题,请考虑为创建和更新请求实现幂等性查询(例如,使用 fold().coalesce().unfold())。