我目前正在尝试通过 Python 自动创建和填充一个集合。如前所述,我选择的数据库是 Arango。我遇到的问题是出现错误:
[HTTP 401][ERR 11] not authorized to execute this request
我已经关闭防火墙并尝试重新安装 Arango 以检查我是否在设置管理员配置文件时搞砸了某些东西,但一切似乎都很好。到目前为止我发现的唯一类似问题是 this one但它仍然与我的问题无关。
关于构建器,我是这样设置的:
config={
"database": 'exampleDB',
"host":'localhost',
"protocol":'http',
"port":'8529',
"username":'someone',
"password":'xxxx'
}
在设置权限配置时我还缺少什么吗?或者问题可能出在其他地方。
我没有发布我的完整代码,因为它是公司拥有的软件。
最佳答案
如果是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”、“password”、“user”、“cred”没有结果”)。 docs site甚至更陈旧。
ArangoPy项目似乎也已经死了,根据自述文件,它支持 ArangoDB 2.2 到 2.6。没有给出身份验证的示例。 Client constructor确实采用了一个名为 auth
的参数,但用法仍不清楚( <username>:<password>
?)。
关于python - 带有 Python 的 ArangoDB - 401 无权执行此请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52985916/