2017-05-04 2 views
1

람다 함수에서 내 Neo4j 데이터베이스에 액세스하는 데 문제가 있습니다. 나는 Alexa 기술을 구축하고 Alexa 기술에서 Neo4j와 같은 그래프 데이터베이스에 액세스 할 수 있어야합니다. DB를 클라우드 (GrapheneDB 포함)에 설치하면이 문제가 해결 될 것이라고 생각했지만 지금은 인증에 문제가있는 것처럼 보입니다.AWS 람다 함수에서 Neo4j 서버에 액세스

import org.neo4j.driver.v1.*; 
import static org.neo4j.driver.v1.Values.parameters; 

public class DB { 

public static void main(String...args) { 

    Config noSSL = Config.build().withEncryptionLevel(Config.EncryptionLevel.NONE).toConfig(); 

    Driver driver = GraphDatabase.driver("bolt://xyz.dbs.graphenedb.com:24786", AuthTokens.basic("db","pw"), noSSL); 
    try (org.neo4j.driver.v1.Session session = driver.session()) { 
    ... 
    } 

이 코드는 내 인 IntelliJ IDE에서 작동하지만, 내가 샘플 람다 함수에서이 코드를 삽입하려고 할 때 이러한 오류가 발생합니다

"errorMessage": "Unable to process request: General SSLEngine problem", 
    "errorType": "org.neo4j.driver.v1.exceptions.ClientException", 
    "stackTrace": [ 
    "org.neo4j.driver.internal.connector.socket.SocketClient.start(SocketClient.java:85)", 
    "org.neo4j.driver.internal.connector.socket.SocketConnection.<init>(SocketConnection.java:63)", 
    "org.neo4j.driver.internal.connector.socket.SocketConnector.connect(SocketConnector.java:52)", 
    "org.neo4j.driver.internal.pool.InternalConnectionPool$1.allocate(InternalConnectionPool.java:191)", 
    "org.neo4j.driver.internal.pool.InternalConnectionPool$1.allocate(InternalConnectionPool.java:180)", 
    "org.neo4j.driver.internal.pool.ThreadCachingPool.allocate(ThreadCachingPool.java:212)", 
    "org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal(ThreadCachingPool.java:164)", 
    "org.neo4j.driver.internal.pool.ThreadCachingPool.acquire(ThreadCachingPool.java:118)", 
    "org.neo4j.driver.internal.pool.InternalConnectionPool.acquire(InternalConnectionPool.java:109)", 
    "org.neo4j.driver.internal.InternalDriver.session(InternalDriver.java:53)", 
    "spacegeek.SpaceGeekSpeechlet.startGraphDB(SpaceGeekSpeechlet.java:122)", 
    "spacegeek.SpaceGeekSpeechlet.onSessionStarted(SpaceGeekSpeechlet.java:87)", 
    "com.amazon.speech.speechlet.SpeechletToSpeechletV2Adapter.onSessionStarted(SpeechletToSpeechletV2Adapter.java:33)", 
    "com.amazon.speech.speechlet.SpeechletRequestDispatcher.dispatchSpeechletCall(SpeechletRequestDispatcher.java:102)", 
    "com.amazon.speech.speechlet.SpeechletRequestHandler.internalHandleSpeechletCall(SpeechletRequestHandler.java:152)", 
    "com.amazon.speech.speechlet.SpeechletRequestHandler.handleSpeechletCall(SpeechletRequestHandler.java:115)", 
    "com.amazon.speech.speechlet.lambda.SpeechletRequestStreamHandler.handleRequest(SpeechletRequestStreamHandler.java:89)" 
    ],"errorMessage": "Unable to process request: General SSLEngine problem", 
    "errorType": "org.neo4j.driver.v1.exceptions.ClientException", 
    "stackTrace": [ 
    "org.neo4j.driver.internal.connector.socket.SocketClient.start(SocketClient.java:85)", 
    "org.neo4j.driver.internal.connector.socket.SocketConnection.<init>(SocketConnection.java:63)", 
    "org.neo4j.driver.internal.connector.socket.SocketConnector.connect(SocketConnector.java:52)", 
    "org.neo4j.driver.internal.pool.InternalConnectionPool$1.allocate(InternalConnectionPool.java:191)", 
    "org.neo4j.driver.internal.pool.InternalConnectionPool$1.allocate(InternalConnectionPool.java:180)", 
    "org.neo4j.driver.internal.pool.ThreadCachingPool.allocate(ThreadCachingPool.java:212)", 
    "org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal(ThreadCachingPool.java:164)", 
    "org.neo4j.driver.internal.pool.ThreadCachingPool.acquire(ThreadCachingPool.java:118)", 
    "org.neo4j.driver.internal.pool.InternalConnectionPool.acquire(InternalConnectionPool.java:109)", 
    "org.neo4j.driver.internal.InternalDriver.session(InternalDriver.java:53)", 
    "spacegeek.SpaceGeekSpeechlet.startGraphDB(SpaceGeekSpeechlet.java:122)", 
    "spacegeek.SpaceGeekSpeechlet.onSessionStarted(SpaceGeekSpeechlet.java:87)", 
    "com.amazon.speech.speechlet.SpeechletToSpeechletV2Adapter.onSessionStarted(SpeechletToSpeechletV2Adapter.java:33)", 
    "com.amazon.speech.speechlet.SpeechletRequestDispatcher.dispatchSpeechletCall(SpeechletRequestDispatcher.java:102)", 
    "com.amazon.speech.speechlet.SpeechletRequestHandler.internalHandleSpeechletCall(SpeechletRequestHandler.java:152)", 
    "com.amazon.speech.speechlet.SpeechletRequestHandler.handleSpeechletCall(SpeechletRequestHandler.java:115)", 
    "com.amazon.speech.speechlet.lambda.SpeechletRequestStreamHandler.handleRequest(SpeechletRequestStreamHandler.java:89)" 
    ], 

아무도 그와 함께 도와 드릴까요? 또는 Neo4j DB에 액세스하는 더 좋은 방법이 있습니까?

답변

2

문제가 해결되었습니다. 암호화 설정을 변경하기 만하면됩니다.

Config SSL = Config.build().withEncryption().toConfig(); 

아마도 도움이됩니다.

관련 문제