我需要使用辅助数据库设置一个简单的复制模式。我发现使用arangosh
可以通过以下命令设置它:
db._useDatabase("myDB");
require("@arangodb/replication").setupReplication({
endpoint: "tcp://main-server:8529",
username: "user",
password: "pass",
verbose: false,
includeSystem: false,
incremental: true,
autoResync: false,
autoStart: true,
restrictType: "include",
restrictCollections: [ "Products" ]
});
然而,此设置似乎并不持久。连接断开,或服务器重新启动使其消失。
所以,我想在我的Go程序中设置一些监控和重建复制。
我搜索了ArangoDB网站的手册页和Go驱动程序文档,但我找不到任何允许我使用驱动程序在Go中运行上述设置的东西。
另外,我没有找到如何与arangosh
接口,也没有找到运行上面的JS代码并得到结果的方法。使用Go驱动程序有可能吗?
1条答案
按热度按时间zsbz8rwp1#
我无意中发现了一个解决办法。
Golang驱动程序不提供此功能,但Arango有一个非常简单的基于HTTP的API,允许访问数据库引擎的所有功能和特性。
下面是我使用的文档的链接:https://www.arangodb.com/docs/3.8/http/index.html(我使用的是3.8版,因为在此之后,我所需要的复制类型不再是社区版的一部分)。
设置复制只需要两个步骤:
所有这些请求都需要一个JWT标记,您可以通过对/_open/auth的POST请求获得该标记,有效负载为:
您收到的令牌需要作为承载令牌包含在HTTP头中。非常简单。