How to connect Time Series Insight to Azure IoT Hub over Private Connection - azure-iot-hub

I've got an Azure IoT Hub (Public Access Restricted) and having a Time Series Insight.
And I want to connect this time series insight to IoT Hub over the private connection so I don't need to make IoT Hub publicly accessible.
Creating a private endpoint in Time series insight didn't work for me.

I've got the answer, So the issue was while keeping your IoT Hub Private or on the Selected IP Ranges, There is a checkbox in the end that says Do you also want the IP Restriction applied on Build-in Endpoints. Uncheck it and problem solved.
So in the end, To maintain the connectivity to the TSI environment with IoT Hub on the private endpoint, The IoT Hub can remain on the private network but built-in endpoints should be public.
That's my understanding.

Time Series Insights just released private endpoint capability in public preview. See this link: Private network access with Azure Private Link (preview). You should be able to connect your Azure IoT Hub to this private endpoint capability.

Related

How to deploy a Managed Private Endpoint via ARM template?

I have a Synapse Workspace that is getting deployed via ARM (via Ev2). I have manually created a Managed Private Endpoint to a Private Link Service. I need to be able to deploy this connection with the workspace. When I look at the json for the workspace (or when I get az synapse workspace show), I don’t see the endpoint listed, so I am not sure where to start hunting. I don’t find much info online either.
Thanks,
~john

Where can I find azure IoT device messages?

I have sent messages to Azure IoT Hub device called dev1, I could not see the messages in IoT Hub but, I can read the messages only when the client application is online when the sender is sending messages. Azure IoT Hub supports only online messaging and no offline messaging? If offline message support is there, where are these messages are stored, I couldn't see the messages in IoT Hub.
When I configure the custom endpoint as Blob storage, I can see messages are stored in blobs.
Please help me on this.
Thanks in advance
If I understand correctly you are looking for reading the messages directly on IoT Hub portal UI. If that is the case, then one of the things which you can make sure about D2C Messages in IoT Hub portal (UI perspective) is looking at the Metrics chart (See below Images). For reading the actual payload you have to make use of in-built Event Hub endpoint or routing to other supported endpoints.(You have already mentioned in your scenario-Client/Sender applications, So I think you have already known this method of reading messages)
The Metrics chart atleast tells you that the messages are received in IoT Hub (UI), you can't read them on the Portal(UI).
IoT Hub is built on top of Event Hubs, and that's where your messages will be until you start reading them. They will be stored there for 1 day by default, although you can change that up to 7 days. For more information on retention, please read this page.

Receiving acknowledgements using IoT Hub

When using DeviceClient I can send messages using SendEvent and files using SendBlob. But I did not find a way to receive acknowledgement that messages/files have been received by Azure IoT Hub?
The only way I found to solve this is using serviceClient.GetFileNotificationReceiver().
Am I missing something or is this the only way?
Also it seems I need SharedAccessKeyName to use ServiceClient. But this is not present in e.g. tokens created by DeviceExplorer (which I use for DeviceClient). Any advice is appreciated.
For Java and C sdks there are IotHubEventCallback and IOTHUB_CLIENT_EVENT_CONFIRMATION_CALLBACK but for C# there is no such interface implemented.
So, for C#, a message will be sent successfully if DeviceClient.SendEventAsync() without throwing any exception, otherwise it fails.
Or you can utilize Event Hub-compatible endpoint to monitor the status of operations on your IoT hub, D2C message, file upload...
For ServiceClient, you need Azure IoT Hub connection string, not device connection string. You can find it in Configuration of Device Explorer:

SignalR client connecting to two separate hubs on two separate connections

We are working on a signalR client that needs to connect to a local Hub to which other local users connect and a cloud Hub. The connection to the local Hub will receive messages from the local users and after applying some logic will retransmit the message to the cloud Hub clients. What would be the right way to implement this functionality ? Thanks.

Mule CISF transport failing in Cloud Hub

I have use case as below.
Created a sample mule flow using smb connector as inbound which reads the files from local network on specific machine and its working fine.
Currently I have a problem that I want deploy this code to cloud hub and want to read the files from same shared location.
Can some one please guide what are the steps need to taken care?
is this achievable using VPC ?
The original answer was provided by David Dossot in the comments, however the link is outdated.
To summarize, to connect from a CloudHub application to an on-premise or private serivce you need to establish some kind of network connectivity. For that CloudHub requieres a VPC and a connectivity link. The process for the later is described at the documentation page To Request VPC Connectivity to Your Network.