首页 文章

ArangoDB:通过API创建新的Foxx服务

提问于
浏览
2

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

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

1 回答

  • 3

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

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

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

    install from remote URL

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

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

    install from GitHub

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

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

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

    install from local file system

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

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

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

相关问题