Мне нужно подключиться к Amazon Neptune с помощью консоли Gremlim.
Перепробовал все шаги по настройке и конфигурации подписи, но при подключении к Нептуну возникает следующая ошибка.
Выполненные шаги:
sudo amazon-linux-extras install java-openjdk11
wget https://archive.apache.org/dist/tinkerpop/3.4.10/apache-tinkerpop-gremlin-console-3.4.10-bin.zip
unzip apache-tinkerpop-gremlin-console-3.4.10-bin.zip
cd apache-tinkerpop-gremlin-console-3.4.10
amazon-neptune-gremlin-java-sigv4bin\gremlin.sh
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.tinkergraph
gremlin> :install com.amazonaws amazon-neptune-sigv4-signer 2.4.0
log4j:WARN No appenders could be found for logger (org.apache.tinkerpop.gremlin.groovy.util.DependencyGrabber).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
==>Loaded: [com.amazonaws, amazon-neptune-sigv4-signer, 2.4.0]
conf/neptune-remote.yamlhosts: [your-neptune-endpoint]
port: 8182
connectionPool: {
channelizer: org.apache.tinkerpop.gremlin.driver.SigV4WebSocketChannelizer,
enableSsl: true
}
serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GraphBinaryMessageSerializerV1,
config: { serializeResultToString: true }}
gremlin> :remote connect tinkerpop.server conf/neptune-remote.yaml
==>Error during 'connect' - The channelizer specified [org.apache.tinkerpop.gremlin.driver.SigV4WebSocketChannelizer] could not be instantiated - it should be the fully qualified classname of a Channelizer implementation available on the classpath





Вам необходимо следовать документации, расположенной здесь: https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth-connecting-gremlin-console.html
Вам не нужно устанавливать путь к классам. Похоже, вы пропускаете шаги 3–6 из документа, на который я дал ссылку. Вам необходимо импортировать два других класса SigV4 в консоль и использовать построитель кластеров.
Спасибо. Я следовал инструкциям из второй части документации, относящейся к версии консоли Gremlin ниже 3.4.11. Настроил все заново (шаги 3-6) и теперь Нептун возвращает Forbidden. Исправлю политику доступа и повторю попытку.
О да. Версия 3.4.10 на данный момент довольно старая. В последних выпусках, которые поддерживает Neptune (до 3.6.5, на данный момент), было внесено множество улучшений в управлении соединениями.
Для оптимального взаимодействия разработчиков с вашей базой данных Amazon Neptune вы также можете рассмотреть альтернативные инструменты, которые лучше интегрированы (и гораздо более функциональны), чем консоль Gremlin по умолчанию, особенно когда речь идет о сценариях использования аутентификации IAM.
Команда Amazon Neptune предоставляет Graph Notebook https://docs.aws.amazon.com/neptune/latest/userguide/graph-notebooks.html, который можно развернуть вручную или через Amazon SageMaker.
G.V() (https://gdotv.com ) — это графическая IDE, полностью совместимая с Amazon Neptune и предлагающая расширенные возможности, как показано в https://docs.aws.amazon.com/neptune/ последний/userguide/visualization-GV.html. В целях раскрытия информации я поддерживаю инструмент G.V().
Также имеется список других доступных инструментов, перечисленных непосредственно в документации Amazon Neptune по адресу https://docs.aws.amazon.com/neptune/latest/userguide/visualization-tools.html.
Я использовал тот же документ (ссылка на который есть в моем вопросе), но при попытке подключения получаю ошибку. Нужно ли иметь явный путь к классам?