Sending data to Azure Events Hub from an external API REST - c#

Like this topic : https://stackoverflow.com/questions/32843290/implementing-iot-powerbi-table-schema/32844087#32844087, I would like to retrieve data from an API REST to create a dashboard which will refresh in real time the data taken from the API.
In order to do that, I have to go through Azure Events Hubs to get the data taken from the API. I have troubles dealing with how to retrieve the data from the API to put it in the entry point of Azure Events Hub. I know I have to write a program (preferably by using Visual Studio) and make this program retrieve the data from the API and put it in the Event Hub but I have difficulties to see how I should begin. What kind of program and what I would need.
I tried to find some tutorial/codes about this but couldn't find anything about retrieving from external API.
From what I can understand, I need to write a program that connects to the Events Hub (not difficult), retrieve the data of the API, store it in a variable created and send it to Events Hub. I would like a bit help on how to start, where to start, what classes for example I would need etc...
I am not an expert on API at all, but I have some knowledge. For information this is the website from which I am trying to retrieve data from : https://data.sncf.com/api/en. The use of the API allows us to retrieve information in a json format if I am correct and I will have to save this data to store it in a variable ?
Thank you.

Per my understanding, I assumed that you could try to follow the steps below to achieve your purpose.
1.Use Azure WebJobs to call your API periodically, then send the data retrieved from the API to Azure EventHub;
You could follow this tutorial for getting started with WebJob by using VS. Also, you could follow this thread for making calls to a REST API via C#. For a simple way, you could leverage EventHub bindings supported by azure-webjobs-sdk to send messages to an event hub after you retrieved data from REST API.
2.For your client-side, you could follow the official tutorial to receive messages from EventHub via EventProcessorHost.

Related

Pushing/Posting data to a generic url via a webhook

Im trying to work out how to send data via a webhook.
If data changes in the database then i will send json data to a specific URL via a webhook. How can this be implemented using c# / azure function trigger apps?
Example; If surname changes in the database then i want an instant response to send the data surname change via json to the the customers URL alerting them of this change.
Am i correct in thinking if i have a timer trigger app to poll the changes to then ping the data via a webhook, would this work and how would i go about using a webhook. Doesnt seem to be many c# examples of this way of working?
Maybe i need to see a working example / sample code.
Not sure if this would be the right solution currently.
Thanks in advance of any answers / general guidance.
Microsoft recently released Azure SQL trigger for Functions which will monitor a SQL table for changes and trigger an Azure Function when a row is created, updated, or deleted. As far as sending the data to a webhook goes you'll need to issue a HTTP POST request using HttpClient, see these MS docs: Make HTTP requests using IHttpClientFactory in ASP.NET Core

Azure - Log custom events in azure and load logs to show in Asp.net UI

I wish to leverage the logging services/features available in azure (Azure monitor/App insights/Log Analytics/etc ) and use them to store the custom events arising out of customers' actions in my app. Events like updating a record, adding, or deleting records, within my app, and also wish to leverage the search capabilities provided by the azure services, within my App via REST or SDK.
I wish to show those logs in grid form in my Asp.net UI and let the users visualize the logs and take actions after analyzing them. By providing the abstraction, I can give the user the ability to log anything that he likes while using my application and also have a search ability, but I will provide the interface to store and load the logs.
I am thinking that I can use the azure app insights for the same, but I don't see any SDK code or REST API to load the logs, provide the search capabilities to the user.
Is there a better path that I can take than going for Azure app insights?
Please check if given steps and references help to work around:
am thinking that I can use the azure app insights for the same, but I don't see any SDK code or REST API to load the logs, provide the search capabilities to the user.
You can filter and track the telemetry data before it's sent from the SDK by implementing ITelemetryProcessor.
To get your custom events data, you can use the code like customEvents | summarize sum(itemCount) in Logs Page which comes from the trackEvent(...).
Here is the MS Doc given code in multiple programming languages to track the custom events and metrics in Analytics.
To provide the custom events and metrics data to the end user, there is the data access API from the Azure Portal.
Other ways to extract data include export from Analytics to Power BI and continuous export.
References:
Azure Application Insights doesn't show custom events created in Azure function
Best Practices in Handling the Application Insights Custom Events
I zeroed into using the Log Analytics Workspace's "Custom logs" feature. This provides a REST endpoint to log the data and SDK to retrieve the data. Here is the link.
https://learn.microsoft.com/en-us/azure/azure-monitor/logs/data-collector-api

How to collect Firebase Messaging statistics

I have a mobile project where I am using Firebase Messaging. I need to collect some data on the status of sent messages (received opened, etc.) and show it in our web admin panel. Where can I find information and step-by-step instructions?
You can check the delivery reports panel in the Firebase console, and you can export the information to CSV from there. This would be a manual operation though, so probably not ideal if you want to show the data in your own app.
There is also an API to get aggregated delivery data. I'm notsure whether this API can be accessed directly from the client though. If not, you'll have to wrap it in a custom endpoint and call that from your own app.
Finally, if the above don't work for your use-case, you can configure FCM to export delivery data to BigQuery and build your own reporting API on that.

Kendo DataSource using Web API and signalR for realtime communication

I've built a REST API using web api 2 for handling the CRUD of my grid, this works fine. I'm trying to now implement SignalR for real time updates (doing something similar as described here Can I incorporate both SignalR and a RESTful API?) and it would appear that you MUST use the hubs for all server side operations when using a Kendo DataSource. I've been searching for some kind of example or documentation that allows for you to possibly use a REST API for CRUD but still allow the client to subscribe to a hub that will push data in real time when something happens with the data.
My question - Is this possible with the Kendo DataSource and if so how?
I am following the documentation here http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport.signalr for configuring SignalR on the client. Basically though what I would like to do is override the transport.signalr.server configs so that it keep talking to my REST API and just let the client subscribe to the hub so it can receive data in real time. Kendo's documentation is so sparse I can't tell if this is just not possible or if I'm missing something however.

Send Data Via Http In C#

I am creating Android Application for a school where teachers should be login to the android application and perform some activity on daily basis.
We have a complete existing web based solution for the same and now want to implement same in Android.
The application is developed in Asp.net and C#
To authenticate a user on android login, I have created a login API which takes username and password in the query string and in return the API return Json Data From That User.
example : www.yourdomain.com/authenticateuser.aspx?username=xxxx&pas=YYYYY
But I doubt whether its safe to send the data via query string.
Can anybody suggest a better possible way where it is not mandatory to send the data in Query String.
You can use Soap based web-service. I created a demo to consume Soap Web-service without KSoap Library.
Ref Link: SoapWithoutKSoap
You can use KSoap Library to create complex Soap Data Request.
I hope this can help you.
C# Web-Service: Demo and Demo1
UPDATE
Web Service Link will be something like this : http://123.456.789.012/Abhan/Abhan.asmx?op=JustTest (This is not working as I modified the IP Address)
In Browser, method name and passing parameter(s) information will be like something as attached image.
Thanks.
I'm using C# web services to autenticate users, send report data and get app updates.
You can get some exmaples in the web (C#):
http://msdn.microsoft.com/en-us/library/8wbhsy70%28v=vs.90%29.aspx
and ksoap2 for Android:
http://code.google.com/p/ksoap2-android/
But I also bought a SSL certificate to use https...

Categories

Resources