使用 Python 的 ArangoDB - 401 无权执行此请求

Zom*_*der 3 python database arangodb

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

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

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

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

config={
   "database": 'exampleDB',
   "host":'localhost',
   "protocol":'http',
   "port":'8529',
   "username":'someone',
   "password":'xxxx'
}
Run Code Online (Sandbox Code Playgroud)

我在设置权限配置时还缺少什么吗?或者问题可能出在其他地方。

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

CoD*_*anX 5

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

from pyArango.connection import *
conn = Connection(username=config['username'], password=config['password'])
Run Code Online (Sandbox Code Playgroud)

文档: 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'])
Run Code Online (Sandbox Code Playgroud)

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

arango-python的原始存储库已被废弃五年了,它不支持任何 2.x 或 3.x 服务器版本,并且我找不到任何用于身份验证的内容(在 GitHub 上搜索没有找到“auth”、“password”的结果) 、“用户”、“信用”)。文档网站甚至更加陈旧。

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