

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

# 在 Lambda 中使用 Gremlin 写入请求的建议
<a name="lambda-functions-gremlin-write-recommendations"></a>

如果您的 Lambda 函数修改了图形数据，请考虑采用回退并重试策略来处理以下异常：
+ **`ConcurrentModificationException`** – Neptune 事务语义意味着写入请求有时会失败并引发 `ConcurrentModificationException`。在这些情况下，请尝试使用基于指数回退的重试机制。
+ **`ReadOnlyViolationException`** – 由于计划内或计划外的事件会导致集群拓扑随时可能发生变化，因此，写入职责可能会从集群中的一个实例迁移到另一个实例。如果您的函数代码尝试向不再是主（写入器）实例的实例发送写入请求，则请求将失败并引发 `ReadOnlyViolationException`。发生这种情况时，请关闭现有连接，重新连接到集群端点，然后重试请求。

另外，如果您使用回退并重试策略来处理写入请求问题，请考虑为创建和更新请求实现幂等性查询（例如，使用 [fold().coalesce().unfold()](http://kelvinlawrence.net/book/Gremlin-Graph-Guide.html#upsert)）。