1 of 1 people found this helpful
I believe the functionality that you are asking for is what we refer to as "PI Web API Channels".
Please see Ray's blog post as an introduction to the technology.
And also Marcos has blogged about it, see PI Web API 2015 R3 - New features demo (Batch and Channels) - C#
Please note that as well with the PI Web API 2016 release, available since yesterday, Channels remain CTP functionality.
Thanks for the response.
I am going through the details you mentioned.
Do we have some other messaging protocol for achieving the same ? like mqtt etc.
Another approach is to develop a custom data reference that overrides the UpdateValue and UpdateValues methods in order to make a POST HTTP request whenever those methods are called. You can use PI Analysis Service to trigger those methods whenever a PI Point receives a new event. As it is a custom data reference, you can choose another protocol as long as it works in C#/.NET.
We have a White Paper about developing Custom Data References if you want to find more information about this methods.
The big advantage of this approach is that you don’t need to manage or run new a Windows Service or Application just for this purpose. The custom data reference will be running and managed by PI AF Service which can avoid potential headaches in the future!
Hello Marcos, Aniket,
I was discussing with David Pugal about this type of scenario lately, and care must be used.
It could work for small scales. But if you need to perform a lot of writes you really should avoid to make a Custom Data Reference and schedule or trigget it with the PI Analysis Service.
This could quickly lead into a situation where the PI Analysis Service writes gets slowed down, because of the API Latency or because of the API throttling or authentication, and overall writing performance of the analysis service would suffer greatly and could impact the entire PI System. Internally, the analysis service is not build to wait a long time for writes to complete.
Aniket, have you though about using the PI Integrator for Business Analytics?
Another option would be to use a .NET application or a service with the PI Data Pipe to pull only the data that has changed since the last time you checked.
The solution based on the PI Web API as Gregor Beck suggested would work as well.
What is the type of application receiving the notifications? In the browser, on a device, or elsewhere? I'd like to understand better where your requirements for MQTT are coming from.