带有Python的ArangoDB-401无权执行此请求

时间:2018-10-25 09:29:22

标签: python database arangodb

我目前正在尝试通过Python自动创建并填充一个集合。如前所述,我选择的数据库是 Arango 。我遇到的问题是出现错误:

  

[HTTP 401] [ERR 11]无权执行此请求

我关闭了防火墙,并尝试重新安装Arango,以检查是否在设置管理配置文件时遇到了麻烦,但是一切似乎都很好。到目前为止,我发现的唯一类似问题是this one,但这仍然与我的问题无关。

关于构建器,这是我的设置方法:

config={
   "database": 'exampleDB',
   "host":'localhost',
   "protocol":'http',
   "port":'8529',
   "username":'someone',
   "password":'xxxx'
}

设置权限配置是否还缺少其他功能?或问题可能出在其他地方。

我没有发布完整的代码,因为它是公司拥有的软件。

1 个答案:

答案 0 :(得分:4)

对于pyArango,您需要在实例化Connection类时提供凭据:

from pyArango.connection import *
conn = Connection(username=config['username'], password=config['password'])

文档:https://bioinfo.iric.ca/~daoudat/pyArango/connection.html

对于python-arango,您首先需要一个客户端对象,然后调用db()方法并提供数据库名称和凭据:

from arango import ArangoClient
client = ArangoClient(protocol='http', host='localhost', port=8529)
db = client.db('_system', username=config['username'], password=config['password'])

文档:https://python-driver-for-arangodb.readthedocs.io/en/master/overview.html

arango-python的原始存储库已被废弃五年,它不支持任何2.x或3.x服务器版本,而且我找不到用于身份验证的任何内容(在GitHub上搜索未获得“ auth的结果” “,”密码“,”用户“,”信用“)。 docs site更加陈旧。

ArangoPy项目似乎也已经死了,根据自述文件,它支持ArangoDB 2.2到2.6。没有给出身份验证的示例。 Client constructor确实采用了名为auth的参数,但是用法仍不清楚(<username>:<password>?)。