Azure iot edge / built-in metrics / proxy - azure-iot-edge

I need to send the build-in metrics of IoT edge from "the metrics collector module" in the gateway to "Log analytics" in the Cloud
https://learn.microsoft.com/en-us/azure/iot-edge/how-to-collect-and-transport-metrics
there's a proxy between edge and Azure
with the UploadTarget=IoTMessage it is possible to go through the proxy with the telemetry messages : metrics collector->edgehub->PROXY->iothub->function->log analytics
BUT
Is it possible to send through a proxy with the configuration UploadTarget=AzureMonitor ?
metrics collector->PROXY->log analytics
thanks

This is covered in the documentation you linked. See: https://learn.microsoft.com/azure/iot-edge/how-to-collect-and-transport-metrics?view=iotedge-2020-11&tabs=iothub#proxy-considerations

Related

GCP Dataflow API is not enabled despite enabling it

So I was trying the in-console tutorial of Dataflow. It asks me to enable API which I did. Now while I was in middle of tutorial, in one of the steps I ran into this:
"error": {
"code": 400,
"message": "(aa368f39ee923d7e): Dataflow API is not enabled. Please use the Cloud Platform Console,
https://console.developers.google.com/apis/api/dataflow.googleapis.com/overview?project=nextwordprediction,
to enable Dataflow API.",
"status": "FAILED_PRECONDITION" }
I check in my "APIs & Services" and API is enabled. I also thought of disabling and enabling again but when I try to disable it, it again says precondition failed. Now I m just stuck.
Can you check if all the below API's are enabled in the project
Compute Engine API
Dataflow API
Cloud Resource Manager API
Cloud Logging API
Cloud Storage
Google Cloud Storage JSON API
BigQuery API
Cloud Pub/Sub API

Send reported properties to Azure IOT Central with IOS SDK

I'm struggling with the IOT Central SDK to send reported properties to my IOT Central but so far I haven't found any way to do it.
Have anyone managed to perform this very task? I have no problem sending properties or events / telemetries but I've been struggling with this for a while with no results.
The Device Twins features are supported for devices with the MQTT or AMQP protocols to the Azure IoT Central (Azure IoT Hub).
For your requirement such as using a device in the iOS Application, I do recommend using the MQTT protocol directly to the Azure IoT Central (Azure IoT Hub) and some iOS MQTT client library, for example MQTT-Client-Framework.
For test purposes of the features how to use the MQTT protocol directly, you can use any MQTT client tools such as MQTTBox, MQTT.fx, etc.
The following screen snippets show an example of using the MQTT protocol directly to the Azure IoT Central, where the MQTTBox client updated a device1 reported property (name battery):

Google IoT-core v1 API discovery not found

I have some issues trying to access google iot-core API from my remote server (hosted on Digital Ocean). The same piece of code could work on my local machine, and I ensured that even the service key was the same, yet there was no explicit message to point me in some general direction.
I'm not sure if this is an issue with the discovery API as I could get the proper response on my local machine using the curl command below but when i tried to do this on my remote server it returned a 404 error. Anyone experienced this before?
curl https://cloudiot.googleapis.com/$discovery/rest?version=v1
Google Cloud IoT API endpoint is:
https://cloudiot.googleapis.com/
The current version is v1 and it is available here:
https://cloudiot.googleapis.com/v1
The discovery doc for this API and this version is:
https://www.googleapis.com/discovery/v1/apis/cloudiot/v1/rest
You may find Google API Explorer a useful tool too:
https://developers.google.com/apis-explorer/#p/
Here is the API Explorer result for Cloud IoT API v1:
https://developers.google.com/apis-explorer/#search/cloudiot/cloudiot/v1/
Even with these endpoints, you will need to authenticate your curl requests before they succeed.
I strongly encourage you to consider using Google's SDKs (Libraries) for interaction with any Google service and for Cloud IoT for service management (munging registries, devices etc.).
Once your configuration is established, your devices should use either MQTT or HTTP.

How to stream data that is generated by an IoT gateway application to predix cloud?

I've devices configured with IoT gateway application(built with MEAN.JS), these devices send data to IoT gateway where i can access data now i wish to do some analytics on same data how can i send this data to predix cloud so that i can use predix services for analytics
We can achieve this requirement using predix-uaa-client NPM package
all you've to do is-
1.create a predix account, predix-uaa service, predix-time-series service and attach uaa-service & time-series service
2.Make note of Uaa Url, client_id, client_secret and predix time-series ingest zone id
pass Uaa Url, client_id, client_secret and predix time-series ingest zone id to predix-uaa-client package it responses with token.access_token.
Use token.access_token as a Bearer token Authroization header in calls to secured services.
once it securely calls service create websocket connection and start sending data to predix-time-series service
here sample code to achieve it
First you need to sign up for a free Predix account on predix.io. Subscribe to the (free version) of the UAA service, and Time Series database service. Create a UAA Client with permissions to access your Time Series instance. Then you can use a websocket to securely push data into the cloud. You can learn more by using the Predix Toolkit: https://predix-toolkit.run.aws-usw02-pr.ice.predix.io/
(Source code for the toolkit is here: https://github.com/predixdev/security-starter)
Lots of helpful tutorials are here:
https://www.predix.io/resources/tutorials

Connecting SMP Server (on SAP HANA Cloud Platform Mobile Services) with Netweaver end point

I am mobile iOS developer and need a demo environment while making a Proof Of Concept app that will run against SAP Mobile Platform 3.0 (SMP) and Netweaver Endpoint using OData service. I need to be testing against SMP Server 3.0 SP05 or SP06 as I need to work with Offline mode as well.
I have setup SAP HANA Cloud Platform Mobile Services on CAL (https://cal.sap.com), configured my application and can successfully execute user registration and on-boarding against the SMP. I am using one of SAP-provided Netweaver demo endpoints, but then I am getting http errors when further making HTTP requests from SMP to the Netweaver endpoint.
The SMP uses HTTPS protocol.
The Netweaver demo endpoint is at https://sapes1.sapdevcenter.com/sap/opu/odata/IWFND/RMTSAMPLEFLIGHT/
It gives me errors like:
Unable to extract request URI: URI must contain a port: https://hcpms-p1941221453trial.hanatrial.ondemand.com/com.sap.flight/
or
Cannot open tunnel with id account:///p1941221453trial
or
HTTPS proxying is not supported. Use HTTP instead. HTTPS is not needed because communication is already secured by the tunnel.
Can somebody please sugest the correct configuration of the end point - Authentication Type, Rewrite Mode, Proxy Type - to get the SMP working with the demo endpoint?
If it is not possible to connect to this NW endpoint from HANA Cloud SMP, can you please sugest another way how to get a demo NW Endpoint with one of SAP sample OData applications? Many thanks.
This may help you for a subset of your issues:
Regarding the HTTPS error, have a look here:
https://help.hana.ondemand.com/help/frameset.htm?9d0e9e8397f544d9a5de5df52fd1e757.html
It mentions: The communication between the XS application and the proxy listening on localhost is always via HTTP. Whether the connection to the on-premise back-end should be HTTP or HTTPS is a matter of access control configuration in the Cloud connector. For more information, see Configuring Access Control (HTTP).
Basically, when something goes through the Cloud Connector, the HANA server uses a the proxy localhost:20003 in HTTP

Resources