Как работать с сеансами с помощью API BlueData REST?

Я хотел бы использовать API BlueData для программного управления установкой BlueData.

Я видел некоторую документацию здесь - кажется, что мне нужно начать с Выборки сеанса, но я ожидал бы создать сеанс, прежде чем смогу получить его.

Как создать сеанс и использовать его в последующих операциях?

1 ответ

Решение

Введение

Документы API, перечисленные в вопросе, не показывают вызов API для создания сеанса. Инструкции по созданию сеанса, однако, можно найти здесь, но я также добавляю детали в этот ответ на случай, если ссылка исчезнет.

Обратите внимание, что вы можете просматривать полные документы API BlueData, если у вас установлена ​​BlueData:

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

Возвращает

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

Установите идентификатор сессии:

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

Используйте сессию, чтобы получить список арендаторов

Используйте идентификатор сессии во время следующего вызова, например

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

Этот пример для меня возвращает:

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

Смотрите также:

Другие вопросы по тегам