зеркало из
1
0
Форкнуть 0
A Python SDK for connecting devices to Microsoft Azure IoT services
Перейти к файлу
olivakar 2f65730070
Update README.md
2023-07-25 16:13:34 -07:00
.devcontainer [V3] chore: Dropped support for Python 3.6 and added support for 3.11 (#1084) 2022-12-04 03:10:24 -08:00
.github Create codeql.yml 2023-07-25 16:04:52 -07:00
azure-iot-device/azure/iot/device Update E2E tests to use V3 (#1120) 2023-04-07 14:33:39 -07:00
dev_utils Update E2E tests to use V3 (#1120) 2023-04-07 14:33:39 -07:00
doc chore: Restructure repository for single project (#1030) 2022-08-04 12:58:57 -07:00
pip_alias chore: Remove azure-iot-hub source code (#1022) 2022-07-28 12:46:34 -07:00
samples [V3] - Repository restructure (#1119) 2023-04-06 13:22:25 -07:00
scripts [V3] - Repository restructure (#1119) 2023-04-06 13:22:25 -07:00
sdklab [V3] feat: remove EnsureDesiredPropertiesStage (#1055) 2022-09-07 09:19:04 -07:00
tests Update E2E tests to use V3 (#1120) 2023-04-07 14:33:39 -07:00
vsts [V3] - Repository restructure (#1119) 2023-04-06 13:22:25 -07:00
.bumpversion.cfg Bump package versions for release on 2022-08-23 (#1043) 2022-08-23 14:54:10 -07:00
.flake8 chore: Restructure repository for single project (#1030) 2022-08-04 12:58:57 -07:00
.gitattributes marshal all calls into a single pipeline thread (#133) 2019-07-22 06:03:27 -07:00
.gitignore [V3] - Repository restructure (#1119) 2023-04-06 13:22:25 -07:00
.pre-commit-config.yaml Update E2E tests to use V3 (#1120) 2023-04-07 14:33:39 -07:00
LICENSE Initial commit 2018-09-13 10:58:00 -07:00
MANIFEST.in chore: Restructure repository for single project (#1030) 2022-08-04 12:58:57 -07:00
README.md Update README.md 2023-07-25 16:07:09 -07:00
SECURITY.md Add SECURITY.md (#999) 2022-05-20 11:39:15 -07:00
credscan_suppression.json [V3] - Repository restructure (#1119) 2023-04-06 13:22:25 -07:00
devbox_setup.md chore: E2E Updates (#1062) 2022-09-16 13:17:08 -07:00
migration_guide_iothub.md [V3] Revised Migration Guides + README (#1118) 2023-04-07 13:50:23 -07:00
migration_guide_provisioning.md [V3] Revised Migration Guides + README (#1118) 2023-04-07 13:50:23 -07:00
mypy.ini [V3] SAS Auth Revisions (#1103) 2023-02-19 16:34:07 -08:00
newtsaupload.gdntsa Change iteration path (#982) 2022-03-30 15:32:25 -07:00
pyproject.toml Add pre-commit hooks for black and flake8 (#23) 2018-11-21 15:23:14 -08:00
pytest.ini [V3] Initial IoTHubMQTTClient (#1096) 2023-02-01 15:06:26 -08:00
requirements_dev.txt [V3] Added typing hints (#1092) 2023-01-17 12:18:09 -08:00
requirements_test.txt [V3] Enhanced reused modules for V3 (#1098) 2023-02-08 16:39:31 -08:00
setup.py [V3] - Repository restructure (#1119) 2023-04-06 13:22:25 -07:00
thirdpartynotice.txt fix (azure-iot-device): use paho disconnect/reconnect to refresh sas token (#576) 2020-06-16 07:10:11 -07:00
tls_protocol_version_and_ciphers.md docs: Adding tls document describing what we support (#433) 2020-01-09 14:16:39 -08:00

README.md

azure-iot-device

Build Status

The Azure IoT Device SDK for Python enables Python developers to easily create IoT device solutions that seamlessly connect to the Azure IoT Hub ecosystem.

NOTE: 3.x.x is still in beta and APIs are subject to change until the release of 3.0.0

Installing the library

The Azure IoT Device library is available on PyPI:

pip install azure-iot-device==3.0.0b2

Python 3.7 or higher is required in order to use the library

Using the library

You can view the samples repository to see examples of SDK usage.

Full API documentation for this package is available via Microsoft Docs. Note that this documentation may currently be out of date as v3.x.x is still in preview at the time of this writing.

Features

✔️ feature available ✖️ feature planned but not yet supported no support planned*

*Features that are not planned may be prioritized in a future release, but are not currently planned

This library primarily uses the MQTT protocol.

IoTHubSession

Features Status Description
Authentication ✔️ Connect your device to IoT Hub securely with supported authentication, including symmetric key, X-509 Self Signed, Certificate Authority (CA) Signed, and SASToken
Send device-to-cloud message ✔️ Send device-to-cloud messages (max 256KB) to IoT Hub with the option to add custom properties.
Receive cloud-to-device messages ✔️ Receive cloud-to-device messages and read associated custom and system properties from IoT Hub.
Device Twins ✔️ IoT Hub persists a device twin for each device that you connect to IoT Hub. The device can perform operations like get twin tags, subscribe to desired properties.
Direct Methods ✔️ IoT Hub gives you the ability to invoke direct methods on devices from the cloud. The SDK supports handler for method specific and generic operation.
Connection Status and Error reporting ✔️ Error reporting for IoT Hub supported error code.
Connection Retry ✔️ Dropped connections will be retried with a fixed 10 second interval by default. This functionality can be disabled if desired, and the interval can be configured
Upload file to Blob ✖️ A device can initiate a file upload and notifies IoT Hub when the upload is complete.
Direct Invocation of Method on Modules ✖️ Invoke method calls to another module using using the Edge Gateway.

ProvisioningSession

Features Status Description
TPM Individual Enrollment ✖️ Provisioning via Trusted Platform Module.
X.509 Individual Enrollment ✔️ Provisioning via X.509 root certificate. Please review the samples folder and this quickstart on how to create a device client.
X.509 Enrollment Group ✔️ Provisioning via X.509 leaf certificate). Please review the samples folder on how to create a device client.
Symmetric Key Enrollment ✔️ Provisioning via Symmetric key attestation). Please review the samples folder on how to create a device client.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.