2

我正在尝试使用 Neo4j 的插件将我的 Django 应用程序部署到 Heroku。我正在使用Neo4django。在本地,在我的settings.py我有以下

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.

需要授权

.. 即使我添加了 Heroku Neo4j 插件提供的登录名和密码。

以前有没有人遇到过类似的问题?提前致谢

4

3 回答 3

2

Heroku 托管的 Neo4j禁用了 Gremlin 插件,这将阻止您运行 neo4django、bulbflow 或任何其他需要 Gremlin 的客户端库。

最常见的解决方案是在 AWS 上运行您自己的 Neo4j 实例,然后连接到该实例。请向 Neo 人明确表示您希望在 Heroku 上支持 Gremlin - 我认为由于 Heroku Neo4j 实例的共享性质,它已被禁用,但它绝对阻碍了许多库。

于 2013-03-08T15:59:35.460 回答
1

我通过使用 graphenedb.com 来托管我的 neo4j 数据库来完成这项工作。

他们将允许您选择您想要托管的 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/)将为您完成所有工作。我发现使用 Web 界面的唯一优势是您还可以获得 neo4j 网络管理员。

于 2014-02-25T10:45:47.243 回答
1

您可以使用 . 查看 Neo4j 配置 URL heroku config --app your-app。只需NEO4J_URL在代码设置中使用来自环境变量的。它已经包含基本身份验证的凭据。

于 2013-03-06T21:46:15.760 回答