Closed shaunco closed 7 months ago
Hi @shaunco thanks for this issue.
This repo only contains those SDK that are generated from their corresponding swaggers (you can find the swaggers here)
Currently we do have a package of iothub
here and here
As for the SDK you mentioned to have other languages but not golang, could you provide a link to one of the SDKs? While I think they should be data-plane SDKs without a swagger. This kind of SDK is manually written by the corresponding service team, not auto-generated as the SDKs in this repo.
The two iothub packages you pointed to are for iothub management, not iothub edge devices (MQTT/AMQP, D2C, C2D, twin state, direct messages, etc). Same as azure-iot-sdk-c, but for go.
I originally asked this question in the azure-iot-sdk-c project, as azure-iot-sdks points to the c, python, node.js, java, and .net projects, and the azure-iot-sdk-c folks directed me here.
Well, but this repo will only receive the auto-generated go SDK from the corresponding swaggers, therefore you cannot find those data-plane SDKs here...
Usually these kind of SDKs are manually written from a specific SDK team of that service, therefore could you please confirm this with them (whether the SDK is hand-written or not, and whether there will be golang support)? This question is out of this repo's scope now.
As I stated previously, I originally asked this question in the azure-iot-sdk-c project (which is the SDK of the team of that service). They directed me here, see: azure-iot-sdk-c issue #1512
Perhaps @ericwol-msft and @ArcturusZhang can work out, inside of MSFT, who should make an Azure IoT Hub golang SDK?
Hi @jhendrixMSFT is the iot-hub SDK in the plan of track 2? Since it should be a data-plane SDK
I'm following up on this however I can't commit to anything at present.
It is quite strange that Go lang support for IoT device client SDK is not higher priority. Given that it easily compiles to any architecture it should be near the top. Until .Net does actual AOT Go makes a lot of sense, lot more than .Net for IoT which does not support as many CPU architectures.
This lack of support is causing us to implement less Azure services than we would. We are rolling our own server side solutions and connecting with Go, as it is faster than integrating with client side SDKs that are available.
Please vote for this feature here: "Offer Go as a language for Azure IoT SDK" https://feedback.azure.com/forums/321918-azure-iot-hub-dps-sdks/suggestions/32822650-go-sdk-for-azure-iot
is thiss issue in work?
Any update on this feature request?
The feature is here and you can vote for it: https://feedback.azure.com/d365community/idea/4c9766ab-f924-ec11-b6e6-000d3a4f0da0
correct me if i'm wrong, but the effort here is to create swaggers for the data-plan services of iothub (documented at https://docs.microsoft.com/en-us/rest/api/iothub/service/devices) similar to what just got added to iotcentral at https://github.com/Azure/azure-rest-api-specs/tree/main/specification/iotcentral/data-plane
can anyone provide these, or does it have to be from MS?
CC @sandeep-sen
Any updates on this?
I would expect Go to be a higher priority for IoT given it's small footprint.
It has been almost a year since the last comment, but I want to chime in and indicate that there is still interest in Go support for the Azure IoT data plane APIs.
Hi, I'd like to add also my vote to this issue. It would be a very good addition!
Hi @shaunco, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.
Why is there no azure-iot-sdk for go? There are ones for C, Python, Node.js, Java, and .NET, but no go. On the management side there is this project (azure-sdk-for-go), but it doesn't do any of the client side things you'd want on a edge device talking to IoT Hub. Sure, I can cgo the azure-iot-sdk-c SDK, but that introduces a whole host of headaches for the average go developer, especially the part where go's cross compiling from any platform to any platform is disabled when you use cgo to bring in C libraries.
There are a handful of projects that have started to implement IoT Hub support, the most complete being https://github.com/amenzhinsky/iothub ... which is mostly complete (D2C, C2D, twin state, and direct messages), but only over MQTT with private keys or X.509, and just recently added MQTT over WebSockets. No AMQP, no HTTP, and no retry logic.
The one that I'm really wishing for at the moment is a DPS client SDK for go, but it looks like I'll end up writing one.