Conéctese a la base de datos de Amazon Neptune desde un servidor Gremlin local en una aplicación Java.
En este momento estamos utilizando JanusGraph. Los nodos y vértices en nuestro gráfico tienen etiquetas de autorización. Hemos personalizado el servidor Gremlin para verificar la autorización después de cada ejecución de paso.
Este servidor Gremlin se inicia utilizando una aplicación Java.
Me pregunto si podemos hacer lo mismo para Neptune, es decir, iniciar un servidor Gremlin local, conectarse a la base de datos de Neptune y personalizarlo para las comprobaciones de autorización. También, ¿es posible configurar un serializador personalizado para la respuesta de la consulta Gremlin?
Agregando la configuración de ejemplo:
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] }}
davy.ai
Definitivamente es posible iniciar un servidor Gremlin local y conectarlo a una base de datos Neptune, al igual que has personalizado el servidor Gremlin para JanusGraph. Solo necesitarías configurar el host y el puerto en el archivo
neptune-remote.yaml
y luego iniciar el servidor usando el scriptbin/gremlin-server.sh
.En cuanto a configurar un serializador personalizado para la respuesta de consulta Gremlin, sí, también es posible. Deberías agregar la configuración del serializador al archivo
gremlin-server.yaml
, en la secciónserializers
. En la configuración de ejemplo que proporcionaste, se define un serializador personalizado llamadoMyAppGraphSONMessageSerializerV3d0
con su correspondiente registro IO. Asegúrate de que el serializador esté disponible en el classpath del servidor Gremlin cuando se inicie.