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

标签 python database arangodb

我目前正在尝试通过 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/

相关文章:

python - igraph 中的边缘叠加(Python)

database - 数据版本控制建议

arangodb - 在 AQL 中结合边缘和文档集合

ArangoDB/AQL 更新嵌套文档

neo4j - 避免某些遍历

python - 将日期列和时间列合并为日期时间列

python - 使用 Lion 为 GAE 配置 python

python - 从外部脚本导入 Django 设置

java - 在开始测量性能之前预热代码

Java数据库题作业题