A Microsoft cloud service that enables deployment of Azure services across hybrid and multicloud environments.
Hello Bhagawan !
Thank you for posting on MS Learn Q&A.
What you deploy and what Azure IoT Operations can ingest are two separate things.
Your C# container can absolutely run on the same Arc enabled Kubernetes cluster as Azure IoT Operations because Azure IoT Operations is Kubernetes native and is designed to integrate customer workloads into the platform. But simply running a pod on the cluster does not make it an Azure IoT Operations asset by itself.
https://learn.microsoft.com/en-us/azure/iot-operations/overview-iot-operations
You can use your usual Kubernetes methodsuch as a deployment pointing to the image in ACR. There is no special Azure IoT Operations workload deployment mechanism required just to run the app. Azure IoT Operations runs on the Arc enabled cluster and customer apps can run alongside it.
The next part I think is the part you are missing because if your simulator is just a custom C# app with no protocol surface Azure IoT Operations has nothing to connect to. The simulator must publish or expose data through one of these patterns:
- MQTT: easiest option for a custom app
- OPC UA: if your simulator can act as an OPC UA server
- custom connector: if it uses a proprietary protocol and you want full asset modeling in the UI
I also thinl that the best option in your case is to publish from the simulator to MQTT because Azure IoT Operations includes a built in local MQTT broke and apps can publish and subscribe to it, and data flows can use it as a source or destination.
Also, Azure IoT Operations has an MQTT connector specifically for modeling MQTT endpoints as assets and it will help you to connect either to an external MQTT broker or to the built in MQTT broker in Azure IoT Operations since It detects topic paths, creates discovered asset resources, and forwards subscribed data to the unified namespace topics you configure.
About your question regarding if the simulator needs to publish data somewhere it is yes but to something that Azure IoT Ops can ingest.
For a custom simulator, that usually means:
- publish MQTT messages to the local AIO broker
- expose an OPC UA server endpoint
- implement a custom connector if the protocol is proprietary
If your simulator does not publish or expose data through one of those supported patterns, creating an asset endpoint alone won’t help because the asset definitions are configuration and they are not a transport by themselves.