Azure SDKs in Python and C#

Azure SDKs in Python and C##

Azure offers Software Development Kits (SDKs) for most of its services. Below you will find references to the SDKs used in the course.

A software development kit (SDK) is a programming “package” that facilitates the development of an applications for a specific platform, vendor or technology.

Typically a SDK includes one or more APIs, programming tools, and documentation.

Azure IoT SDKs#

Azure IoT provides SDKs for several languages such as Python, Java, .NET, C and Node.js.

Azure IoT SDKs provide tooling and examples to develop devices, service applications and to manage the IoT Hub itself.#

There are a few categories of SDKs to know, which are managed and packaged separately:

Device SDKs

Functionality to build device clients that communicate with and are controlled by an IoT Hub.

Service SDKs

Functionality for applications and services that communicate with an IoT Hub and registered devices. Examples are a back-end service running on a VM or a mobile application.

IoT Hub Management SDKs

Help build back-end applications that manage an IoT Hub.

Note

Remember that the IoT Hub is only managing the device registration, authentication and routing of messages and data.

The application logic and device control is typically done by a back-end service and user applications using data routed via the IoT Hub’s end-points.

SDKs by language#

Packages (pip)

Device: azure-iot-device

Service: azure-iot-hub

IoTHub Management: azure-mgmt-iothub

Source (GitHub)

Device: azure/azure-iot-sdk-python

Service: azure/azure-iot-hub-python

IoTHub Management: azure/azure-sdk-for-python

Tutorials

All: Connect to IoT Hub (Python)

Examples

Device: azure-iot-sdk-python/samples

Service: azure-iot-hub-python/samples

Reference

Device: learn.microsoft.com

Service: learn.microsoft.com

IoTHub Management: learn.microsoft.com

Package (NuGet)

Device: Microsoft.Azure.Devices.Client

Service: Microsoft.Azure.Devices

IoTHub Management: Azure.ResourceManager.IotHub

Source (GitHub)

Device/Service: azure/azure-iot-sdk-csharp

IoTHub Management: azure/azure-iot-for-net

Tutorials

All: Connect to IoT Hub (C#)

Examples

Device: azure-iot-sdk-csharp/iothub/device/samples

Service: azure-iot-sdk-csharp/iothub/service/samples

Reference

Device/Service: learn.microsoft.com

IoTHub management: learn.microsoft.com