ArangoDB:通过API

时间:2016-10-06 19:07:07

标签: graph-databases arangodb foxx

我的应用程序的核心要求是能够使用所有集合,图形,数据和API自动部署ArangoDB。到目前为止,HTTP API和各种包装器已足够,但我无法找到用于部署Foxx服务的API。有没有办法通过RESTful API或其中一个包装器创建和部署Foxx服务?到目前为止,我知道创建Foxx服务的唯一方法是通过Web界面。

我发现this question让我相信它是可能的,但我不知道如何指定Foxx服务的Git位置。您是否可以提供在没有Web UI的情况下创建Foxx服务的说明并列出可能的参数?

1 个答案:

答案 0 :(得分:3)

要通过REST API安装Foxx服务,您可以使用端点HTTP PUT /_admin/foxx/install

需要发送JSON正文,其中包含名为mountappInfo的属性。 mount需要包含挂载点(需要以正斜杠开头)。 appInfo是要挂载的应用程序。它可以包含服务器从调用/_api/upload之前返回的文件名,例如

{ 
    "appInfo" : "uploads/tmp-30573-2010894858", 
    "mount" : "/my-mount-point" 
}

从远程网址安装

您还可以从外部服务器通过HTTP(S)提供的zip文件安装Foxx服务。您可以根据需要包含HTTP Basic Auth的用户名和密码:

{ 
    "appInfo" : "https://user:password@example.com/my-service.zip", 
    "mount" : "/my-mount-point" 
}

从GitHub安装

如果存储库是公共可访问的,例如,您也可以从GitHub存储库安装Foxx服务。

{ 
    "appInfo" : "git:arangodb-foxx/demo-hello-foxx:master", 
    "mount" : "/my-mount-point" 
}

在幕后,ArangoDB会将请求转换为GitHub提供的zip包的常规URL。

从本地文件系统安装

您还可以从本地文件系统上的zip文件或目录安装Foxx服务:

{ 
    "appInfo" : "/path/to/foxx-service.zip", 
    "mount" : "/my-mount-point" 
}

这也适用于目录,但在这种情况下,ArangoDB会为您创建一个临时zip文件。