0

现在我们正在使用 Janusgraph。我们图中的节点和顶点已标记权利。我们已经定制了 Gremlin 服务器以在每个步骤执行后检查权限。

此 Gremlin 服务器是使用 Java 应用程序启动的。

我想知道我们是否可以为 Neptune 做同样的事情,即启动本地 Gremlin 服务器并连接到 Neptune DB 并对其进行自定义以进行权利检查。另外,是否可以为 gremlin 查询响应配置自定义序列化程序?

添加示例配置:

host: MyNeptuneHost
port: 8182
evaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphs: {
  graph: conf/tinkergraph-empty.properties}
scriptEngines: {
  gremlin-groovy: {
    plugins: { org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]},
               org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/empty-sample.groovy]}}}}
serializers:
  - { className: org.myApp.tinkerpop.gremlin.driver.ser.MyAppGraphSONMessageSerializerV3d0, config: { ioRegistries: [org.myApp.tinkerpop.gremlin.tinkergraph.structure.MyAppIoRegistryV3d0] }}
4

1 回答 1

0

Amazon Neptune 公开了您希望从任何其他 Gremlin 服务器看到的相同入口点。因此,对于您的应用程序,Neptune 看起来就像一个 Gremlin 服务器。但是,除了在创建与服务器的连接时指定要使用的序列化程序(通过从可用集中选择一个)之外,您无法配置序列化程序。从您的问题中不清楚如何执行权利检查,但您无法自定义 Neptune 服务器本身,只能调整通过参数组和查询设置公开的设置(例如超时)。

于 2022-01-07T16:34:06.467 回答