The AWS IoT Device SDK for Python allows developers to write Python script to use their devices to access the AWS IoT platform through MQTT or MQTT over the WebSocket protocol. By connecting their devices to AWS IoT, users can securely work with the message broker, rules, and the device shadow (sometimes referred to as a thing shadow) provided by AWS IoT and with other AWS services like AWS Lambda, Amazon Kinesis, Amazon S3, and more. It is a complete rework, built to improve reliability, performance, and security. We invite your feedback! The SDK is built on top of a modified Paho MQTT Python client library. Developers can choose from two types of connections to connect to AWS IoT. For MQTT over TLS (port 8883 and port 443), a valid certificate and a private key are required for authentication. For MQTT over the WebSocket protocol (port 443), a valid AWS Identity and Access Management (IAM) access key ID and secret access key pair are required for authentication.
Features
- MQTT (over TLS 1.2) with X.509 certificate-based mutual authentication
- MQTT over the WebSocket protocol with AWS Signature Version 4 authentication
- MQTT (over TLS 1.2) with X.509 certificate-based mutual authentication with TLS ALPN extension
- The SDK allows operations on shadow documents of single or multiple shadow instances in one MQTT connection
- The SDK also allows the use of the same connection for shadow operations and non-shadow, simple MQTT operations
- The SDK supports two types of credentials that correspond to the two connection types