The Fledge REST API
Користувачі, адміністратори та програми взаємодіють із Fledge через REST API. У цьому розділі представлено повну довідку про API.
Примітка
Fledge REST API не слід плутати з внутрішнім REST API, який використовується завданнями та мікросервісами Fledge для спілкування один з одним.
Знайомство з Fledge REST API
REST API - це шлях до пристрою Fledge, він забезпечує всю взаємодію користувача і програми для конфігурації, моніторингу та управління системою Fledge. Окрема специфікація визначатиме зміст API, але в загальних рисах він призначений для того, щоб дозволити:
- повну конфігурацію пристрою Fledge
- Доступ до статистики моніторингу пристрою Fledge
- Управління користувачами та ролями для доступу до API
- Доступ до вмісту буфера даних
Використання порту
Загалом компоненти Fledge використовують динамічний розподіл портів, щоб визначити, який порт використовувати, однак API адміністратора є винятком з цього правила. Порт API адміністратора має бути відомий кінцевим користувачам і будь-яким інтерфейсам користувача або системам керування, які його використовують, тому порт, на якому API адміністратора слухає, має бути постійним і фіксованим між викликами. Однак це не означає, що його не може змінити користувач. Користувач повинен мати можливість визначити порт, який буде використовувати API адміністратора для прослуховування. Для цього порт буде збережено в даних конфігурації для API адміністратора, використовуючи категорію конфігурації AdminAPI, див. розділ Конфігурація. Адміністратори, які мають доступ до пристрою, можуть знайти інформацію про порт і протокол, який використовується (наприклад, HTTP або HTTPS), у файлі pid, що зберігається у $FLEDGE_DATA/var/run/:
$ cat data/var/run/fledge.core.pid
{ "adminAPI" : { "protocol" : "HTTP",
"port" : 8081,
"addresses" : [ "0.0.0.0" ] },
"processID" : 3585 }
Fledge постачається з портом за замовчуванням для використання API адміністратора, однак користувач може змінити його після встановлення. Це можна зробити, спочатку підключившись до порту, визначеного за замовчуванням, а потім змінивши його за допомогою API адміністратора. Після цього Fledge слід перезапустити, щоб використовувати цей новий порт.
Інфраструктура
Існує два REST API, які дозволяють зовнішній доступ до Fledge: Administration API та User API. Користувацький API призначений для доступу до даних у шарі пам'яті Fledge, який буферизує показання датчиків, і він не є частиною цієї поточної версії.
API адміністрування - це перший API, який стосується всіх аспектів управління та моніторингу пристрою Fledge. Цей API використовується для всіх операцій конфігурації, які відбуваються після базового встановлення.