Виклики API розробника
В API існує ряд викликів, які призначені для тих, хто розробляє трубопроводи та плагіни для Fledge. Це не ті дії, які очікуються для повсякденного використання, але вони мають допомогти у цьому процесі розробки.
Очищення зчитувань
За звичайних обставин користувачеві ніколи не знадобиться вручну очищати дані з буфера сховища Fledge, проте в процесі розробки може бути корисно мати можливість очищати дані вручну.
DELETE /fledge/asset -Очистити дані для всіх активів із буфера
Response Payload
Корисне навантаження відповіді – це документ JSON, який повертає кількість видалених зчитувань.
Example
$ curl -X DELETE http://localhost:8081/fledge/asset
Результатом цього є кількість видалених зчитувань.
{ "purged" : 3239 }
Примітка
Слід з великою обережністю використовувати цей виклик, оскільки всі дані, які наразі буферизовано у шарі сховища Fledge, буде втрачено, і не існує механізму для скасування цієї операції.
DELETE /fledge/asset/{asset name} - Очистити дані для названого активу
з буфера
Response Payload
Корисне навантаження відповіді – це документ JSON, який повертає кількість видалених зчитувань.
Example
$ curl -X DELETE http://localhost:8081/fledge/asset/sinusoid
Результатом цього є кількість видалених зчитувань.
{ "purged" : 435 }
Примітка
Слід з великою обережністю використовувати цей виклик, оскільки всі дані для названого активу, які наразі буферизовано у шарі зберігання Fledge, буде втрачено, і не існує механізму для скасування цієї операції.
Перегляд постійних даних плагіна
Плагіни Fledge можуть зберігати дані між виконаннями плагіна. Ці дані мають форму JSON-документа. За звичайних обставин користувачеві не потрібно переглядати ці дані або керувати ними, оскільки за них відповідає плагін. Однак під час розробки плагіна розробнику плагіна корисно мати можливість переглядати ці дані та керувати ними.
GET /fledge/service/{service_name}/persist - отримати назви плагінів,
які зберігають дані в сервісі.
curl http:/localhost:8081/fledge/service/OMF/persist
Це поверне список плагінів як документ JSON, як показано нижче
{
"persistent": [
"OMF"
]
}
Якщо жоден плагін у цьому сервісі не підтримує дані, масив persistent буде порожнім.
GET /fledge/service/{service_name}/plugin/{plugin_name}/data -
переглядає дані плагіна, які зберігаються екземпляром плагіна
Параметри
- service_name - назва сервісу, в якому запущено плагін
- plugin_name - назва плагіна в межах сервісу. Для північного або південного плагіна це те саме, що й назва сервісу. Для фільтра це буде ім'я, надане екземпляру фільтра, коли його було додано до трубопровода.
Response Payload
Корисним навантаженням у відповідь є збережені дані з плагіна.
Example
$ curl http://localhost:8081/fledge/service/OMF/plugin/OMF/data
Де OMF - назва північної служби з фільтром OMF, підключеної до PI-сервера. У цьому випадку дані, що зберігаються, - це інформація про тип яку ми кешуємо локально і яка описує типи, що були створені в межах шарі OMF на PI-сервері.
{
"data": {
"sentDataTypes": [
{
"sine25": {
"type-id": 1,
"dataTypesShort": "0x101",
"hintChecksum": "0x0",
"namingScheme": 0,
"afhHash": "15489826335467873671",
"afHierarchy": "fledge/data_piwebapi/mark",
"afHierarchyOrig": "fledge/data_piwebapi/mark",
"dataTypes": {
"sinusoid": {
"type": "number",
"format": "float64"
}
}
}
},
{
"sinusoid": {
"type-id": 1,
"dataTypesShort": "0x101",
"hintChecksum": "0x0",
"namingScheme": 0,
"afhHash": "15489826335467873671",
"afHierarchy": "fledge/data_piwebapi/mark",
"afHierarchyOrig": "fledge/data_piwebapi/mark",
"dataTypes": {
"sinusoid": {
"type": "number",
"format": "float64"
}
}
}
}
]
}
}
Примітка
Збережені дані записуються, коли плагін вимикається. Тому для отримання точних результатів цей виклик слід здійснювати лише тоді, коли сервіс вимкнено. Виклик цього API під час роботи сервісу призведе до отримання даних з попереднього разу, коли сервіс було вимкнено.
POST /fledge/service/{service_name}/plugin/{plugin_name}/data -
записує збережені дані для плагіна. Також надсилає дані з корисним
навантаженням {"data": "<YOUR_VALUE>"}
Записати або перезаписати дані, які зберігаються плагіном. Корисне навантаження запиту - це дані, які повинен отримати плагін і які мають бути у правильному для нього форматі.
Корисне навантаження для команди POST визначається самим плагіном, і тому тут не може бути наведено загального прикладу. Передбачається, що вона використовується разом з попереднім GET-запитом або GET-запитом до іншого екземпляра, щоб відновити попередній стан.
Примітка
Збережені дані записуються, коли плагін вимикається. Тому для отримання передбачуваних результатів цей виклик слід здійснювати лише після завершення роботи сервісу. Виклик цього API під час роботи сервісу призведе до того, що дані, записані під час виклику, будуть перезаписані плагіном після його закриття.
DELETE /fledge/service/{service_name}/plugin/{plugin_name}/data -
видаляє збережені дані для плагіна
Примітка
Збережені дані записуються, кол и плагін вимикається. Тому, щоб отримати передбачувані результати, цей виклик слід здійснювати лише після завершення роботи сервісу. Виклик цього API під час роботи сервісу призведе до того, що дані будуть записані з плагіна після його закриття, що зробить операцію видалення застарілою.