2013-03-06 2 views
2

Neo4j의 Addon을 사용하여 Heroku에 내 장고 응용 프로그램을 배포하려고합니다. Neo4django을 사용하고 있습니다. 로컬, 내 settings.py 나는 그러나 Heroku에서 Django 및 Neo4j 실행

NEO4J_DATABASES = { 
     'default' : { 
      'HOST':'localhost', 
      'PORT':7474, 
      'ENDPOINT':'/db/data' 
     } 
    } 

다음 한 Heroku가에 배포 할 때, 나는 분명히 인증 문제에 대한 데이터베이스에 연결할 수 없습니다입니다 ..

NEO4J_DATABASES = { 
    'default' : { 
     'HOST':'<someid>.hosted.neo4j.org', 
     'PORT':7281, 
     'ENDPOINT':'/db/data/', 

    } 
} 

에 설정을 변경합니다. 내 스택 추적의 맨 아래에있는 오류 :

StatusException: Error [401]: Unauthorized. No permission -- see authorization schemes. 

필요한 권한

.. I 부가 기능에 Heroku가 Neo4j에서 제공하는 로그인과 암호를 추가하더라도.

이전에 비슷한 문제가있는 사람이 있습니까? 미리 감사드립니다.

+0

Neo4j에는 환경에서 연결 고리를 읽는 것이 좋습니다. https://github.com/neo4j-contrib/neo4j-heroku-seeds/blob/master/python/flask-py2neo/app.py – friism

답변

2

heroku config --app your-app을 사용하여 Neo4j 구성 URL을 볼 수 있습니다. 코드 설정에서 환경 변수의 NEO4J_URL을 사용하십시오. 기본 인증에 대한 자격 증명이 이미 있습니다.

+1

글쎄, 이건 분명히 인증 문제를 해결하지만, 나는이 오류가 나타납니다 :'self._dict [attr] = ExtensionModule (self._extensions [attr], self._auth) KeyError : 'GremlinPlugin'' 분명히 Gremlin Plugin에 문제가 있습니까? –

2

Heroku가 호스팅하는 Neo4j에는 Gremlin plugin disabled이 있습니다. 그러면 neo4django, bulbflow 또는 Gremlin이 필요한 클라이언트 측 라이브러리를 실행할 수 없습니다.

가장 일반적인 해결책은 AWS에서 자신의 Neo4j 인스턴스를 실행 한 다음 연결하는 것입니다. Heroku에서 Gremlin 지원을 원한다면 make it clear to the Neo folks을 입력하십시오. Heroku Neo4j 인스턴스의 공유 특성으로 인해 비활성화 된 것으로 생각되지만 많은 라이브러리를 혼란스럽게합니다.

2

내 neo4j 데이터베이스를 호스팅하기 위해 graphenedb.com을 사용하여이 작업을 수행했습니다.

그들은 당신이 호스팅하고 싶은 neo4j의 버전을 선택할 수 있습니다. 1.9.6 (또는 이전 버전)을 선택하면 gremlin 플러그인이 작동하므로 neo4django도 작동합니다.

웹 사이트를 통해 graphenedb에 가입하고 거기에 데이터베이스를 만들거나 heroku 플러그인 (http://blog.graphenedb.com/blog/2014/02/06/our-new-add-on-helps-heroku-users-build-applications-on-top-of-neo4j/)을 사용하면 모든 것을 처리 할 수 ​​있습니다. 웹 인터페이스를 사용하여 얻은 유일한 이점은 neo4j 웹 관리자도 있다는 것입니다.