在将部署 Gremlin 代码的上下文中测试 Gremlin 代码 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在将部署 Gremlin 代码的上下文中测试 Gremlin 代码

在 Gremlin 中,客户端可以通过多种方式向服务器提交查询:使用 WebSocket 或 Bytecode GLV,或者通过 Gremlin 控制台使用基于字符串的脚本。

重要的是要认识到,Gremlin 查询的执行可能会因您提交查询的方式而有所不同。如果以 Bytecode 模式提交,返回空结果的查询可能会被视为已成功,但如果以脚本模式提交,则被视为失败。例如,如果你包括next()在脚本模式查询中,next()已发送到服务器,但使用 ByteCode 客户端通常会处理next()本身。在第一种情况下,如果找不到任何结果,查询将失败,但在第二种情况下,无论结果集是否为空,查询都会成功。

如果你在一个上下文中开发和测试你的代码(例如,Gremlin 控制台通常以文本形式提交查询),但是然后在不同的上下文中(例如通过使用 Bytecode 的 Java 驱动程序)部署代码,你可能会遇到代码在生产中的行为与生产中的行为不同的问题它在您的开发环境中确实如此。

重要

一定要在将部署 Gremlin 代码的 GLV 上下文中测试 Gremlin 代码,以避免意外结果。