如何使用 BlueData REST API 处理会话?

How to work with sessions with the BlueData REST API?

我想使用 BlueData API 通过 BlueData 安装以编程方式进行管理。

我看过一些文档 here - 看来我需要从 获取会话 开始,但我希望在获取之前创建一个会话它。

如何创建会话并在后续操作中使用它?

简介

问题中列出的 API 文档没有显示创建会话的 API 调用。但是,可以找到创建会话的说明 here,但我也在这个答案中添加了详细信息,以防 link 消失。

请注意,如果您安装了 运行 BlueData,则可以浏览完整的 BlueData API 文档:

http://<controller-ip>/apidocs/

无论如何,下面列出了创建会话并在后续调用(例如检索所有租户中使用该会话的步骤:

创建会话

写入login.json文件:

cat <<EOF> ./login.json
{
     "name": "admin",
     "password": "admin123"
}
EOF

设置控制器IP:

# Set this to your controller IP address

CONTROLLER_IP=10.0.0.1 

然后您可以提交登录请求:

curl -i -X POST -d@login.json http://${CONTROLLER_IP}:8080/api/v1/login

Returns

HTTP/1.1 201 Created
Server: BlueData EPIC 3.7
Location: /api/v1/session/df1bfacb-xxxx-xxxx-xxxx-c8f57d8f3c71
Date: Mon, 15 Jul 2019 16:47:54 GMT
Content-Type: text/plain
Content-Length: 13
Access-Control-Allow-Origin: *

201 Created

设置会话 ID:

SESSION_ID=/api/v1/session/df1bfacb-xxxx-xxxx-xxxx-c8f57d8f3c71

使用会话获取租户列表

在后续调用中使用 SESSION ID,例如

curl -X GET -H "X-BDS-SESSION:${SESSION_ID}" http://${CONTROLLER_IP}:8080/api/v1/tenant

这个例子对我来说 returns:

{"_links":{"self":{"href":"/api/v1/tenant"}},...

另请参阅: