- PVSM.RU - https://www.pvsm.ru -
В нашем прошлом топике была затронута тема API [2], а если точнее — способов того, как эта технология может послужить бизнесу. В ходе развития
Для решения этих задач мы разработали API — о том, как работает этот интерфейс, и какие задачи с его помощью можно решать наш сегодняшний топик.
Для того, чтобы у клиентов была возможность управления своими серверами из сторонних приложений, было реализовано REST API [5].
В одном из предыдущих топиков об инфраструктуре проекта мы рассказывали [4] о том, что при выполнении пользователям действий в графическом интерфейсе не происходит никаких обработок, в системе лишь формируется задание на выполнение требуемого действия обработчиком.
Для реализации API мы использовали тот же механизм. Когда клиент посылает запрос к API, формируется задание, затем его «подхватывает» обработчик, после чего уже происходит исполнение. Отследить состояние конкретной задачи можно, обратившись к методу [6] «Действие над сервером»:
curl -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' https://api.1cloud.ru/Server/777/Action/999
Пример заголовка сообщения в формате JSON:
Content-Type: application/json
Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50
В ответ система вернет JSON-объект, содержащий ID задания, тип задачи (в данном случае — создание сервера) и ее статус:
{
"ID":999,
"Type":"Create",
"State":"Completed"
}
В дальнейшем при вводе в строй новых функций, мы будем поддерживать два интерфейса: через веб (панель управления) и программный интерфейс (API).
В случае
Инфраструктура 1cloud (картинка кликабельна)
С помощью методов API развернуть сервер можно с помощью одного запроса, при этом возможна полная автоматизация всех задач по управлению
Нашим API могут пользоваться целый ряд частных и корпоративных клиентов. Среди них:
Кроме того, API может использоваться в рамках процесса непрерывной интеграции (continuous integration) — в ходе проверки готового кода можно создать эталонную тестовую среду (один или группа серверов), на которой и «прогоняются» все тестовые сценарии.
Пример реализации клиентского приложения для API 1cloud на C# можно найти по ссылке [9](выражаем благодарность за реализацию Сергею partyz0ne [10] Вычегжанину)
На сегодня все. Спасибо за внимание, будем рады ответить на вопросы в комментариях!
P.S. Пользователям Хабра, которые захотят воспользоваться нашим API, мы предоставим расширенный тестовый период в ходе которого будем устранять найденные проблемы и сложности (для его активации достаточно обратиться в службу поддержки по адресу support@1cloud.ru [11]).
P. P. S. Авторам лучших реализаций клиентских частей для API 1сloud на других языках программирования будут предоставлены бонусы в нашей системе. Выкладывайте свои проекты на GitHub и мы обязательно укажем имя автора и ссылку на них на своем сайте.
Автор: 1cloud
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/82674
Ссылки в тексте:
[1] Image: http://habrahabr.ru/company/1cloud/blog/250427/
[2] затронута тема API: http://habrahabr.ru/company/1cloud/blog/250125/
[3] хостинг-провайдера: https://www.reg.ru/?rlink=reflink-717
[4] инфраструктурой: http://habrahabr.ru/company/1cloud/blog/244121/
[5] REST API: https://1cloud.ru/api
[6] методу: https://1cloud.ru/api/server/servergetaction).
[7] Image: http://i.imgur.com/MTPO0C9.png
[8] deploy4me.com/: https://deploy4me.com/
[9] по ссылке: https://github.com/partyz0ne/OneCloudNet
[10] partyz0ne: https://github.com/partyz0ne
[11] support@1cloud.ru: mailto:support@1cloud.ru
[12] Источник: http://habrahabr.ru/post/250427/
Нажмите здесь для печати.