# azure-iot-hub-api
Azure IoT hub api interface using azure cli
This package is alternative to [azure-iot-hub](https://pypi.org/project/azure-iot-hub/) which hasn't had any updates in several years and relays on the deprecated [azure-uamqp-python](https://github.com/Azure/azure-uamqp-python).
This package can be used as a stopgap until the [azure-iot-hub](https://pypi.org/project/azure-iot-hub/) been updated to no longer depend on deprecated packages.
Currently these very basic functionalities of the **IoTHubRegistryManager** are supported:
- **create_device_with_sas**
- **get_twin**
- **get_twins**
- **update_twin**
- **get_device**
- **get_devices**
- **delete_device**
The package are designed, so that, if it is used as alternative to existing azure-iot-hub in the project, it need to make only little changes to the codebase.
## Usage
Simply import and create IoTHubRegistryManager using connection string, then you can call api functions.
## Sample code
```python
from azure_iot_hub_api import IoTHubRegistryManager
AZURE_IOT_CONNECTION_STRING = "HostName=MyAzureIotHub.azure-devices.net;SharedAccessKeyName=xxx;SharedAccessKey=xxxxxxxxxxxxxx"
registry_manager = IoTHubRegistryManager(AZURE_IOT_CONNECTION_STRING)
my_device_id = 'E-11'
primary_key = 'primary-base64-key'
secondary_key = 'secondary-base64-key'
# Create a device
registry_manager.create_device_with_sas(
device_id=my_device_id,
primary_key=primary_key,
secondary_key=secondary_key,
status='enabled',
)
# Get device twin
my_device_twin = registry_manager.get_twin(device_id=my_device_id)
my_device_twin.properties.desired['speed'] = 70
# Update device twin (It updates only desired object)
registry_manager.update_twin(device_id=my_device_id, twin=my_device_twin)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/birddevelper/azure-iot-hub-api",
"name": "azure-iot-hub-api",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Azure, IoT, Azure IoT hub, azure cli",
"author": "M.Shaeri",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/2c/85/0d03cfdd3e75d2f495dfc3cfe0e8d7056cee9fd48d03cfcbc0f677a9094b/azure_iot_hub_api-0.2.0.tar.gz",
"platform": null,
"description": "# azure-iot-hub-api\nAzure IoT hub api interface using azure cli\n\nThis package is alternative to [azure-iot-hub](https://pypi.org/project/azure-iot-hub/) which hasn't had any updates in several years and relays on the deprecated [azure-uamqp-python](https://github.com/Azure/azure-uamqp-python).\n\nThis package can be used as a stopgap until the [azure-iot-hub](https://pypi.org/project/azure-iot-hub/) been updated to no longer depend on deprecated packages.\n\nCurrently these very basic functionalities of the **IoTHubRegistryManager** are supported:\n\n- **create_device_with_sas**\n- **get_twin**\n- **get_twins**\n- **update_twin**\n- **get_device**\n- **get_devices**\n- **delete_device**\n\nThe package are designed, so that, if it is used as alternative to existing azure-iot-hub in the project, it need to make only little changes to the codebase.\n\n## Usage\n\nSimply import and create IoTHubRegistryManager using connection string, then you can call api functions.\n\n## Sample code\n\n```python\nfrom azure_iot_hub_api import IoTHubRegistryManager\n\nAZURE_IOT_CONNECTION_STRING = \"HostName=MyAzureIotHub.azure-devices.net;SharedAccessKeyName=xxx;SharedAccessKey=xxxxxxxxxxxxxx\"\nregistry_manager = IoTHubRegistryManager(AZURE_IOT_CONNECTION_STRING)\nmy_device_id = 'E-11'\nprimary_key = 'primary-base64-key'\nsecondary_key = 'secondary-base64-key'\n\n# Create a device\nregistry_manager.create_device_with_sas(\n device_id=my_device_id,\n primary_key=primary_key,\n secondary_key=secondary_key,\n status='enabled',\n )\n\n# Get device twin\nmy_device_twin = registry_manager.get_twin(device_id=my_device_id)\nmy_device_twin.properties.desired['speed'] = 70\n\n# Update device twin (It updates only desired object)\nregistry_manager.update_twin(device_id=my_device_id, twin=my_device_twin)\n\n```\n\n\n\n\n\n",
"bugtrack_url": null,
"license": "GNU",
"summary": "Azure iot hub api with azure cli backend",
"version": "0.2.0",
"project_urls": {
"Download": "https://github.com/birddevelper/azure-iot-hub-api",
"Homepage": "https://github.com/birddevelper/azure-iot-hub-api"
},
"split_keywords": [
"azure",
" iot",
" azure iot hub",
" azure cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "98217048742368e7332bd414902f9d98572c36f7c6c04616c2ee9e3ef4316d78",
"md5": "e62ad9b24b2f80fabee7c8b0216ef7c4",
"sha256": "d3d9d3c6c6950a2991e9421fae46bd12d47b671c35e8e32320712d137bcb8fe4"
},
"downloads": -1,
"filename": "azure_iot_hub_api-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e62ad9b24b2f80fabee7c8b0216ef7c4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 9836,
"upload_time": "2024-04-20T20:56:57",
"upload_time_iso_8601": "2024-04-20T20:56:57.623771Z",
"url": "https://files.pythonhosted.org/packages/98/21/7048742368e7332bd414902f9d98572c36f7c6c04616c2ee9e3ef4316d78/azure_iot_hub_api-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c850d03cfdd3e75d2f495dfc3cfe0e8d7056cee9fd48d03cfcbc0f677a9094b",
"md5": "762a683cf0050ce3bf76d320da0098d0",
"sha256": "1cea3c76e5bdbfa6993c13265701cb7f131e54a55ee4867424b6605f34551be3"
},
"downloads": -1,
"filename": "azure_iot_hub_api-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "762a683cf0050ce3bf76d320da0098d0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9104,
"upload_time": "2024-04-20T20:56:59",
"upload_time_iso_8601": "2024-04-20T20:56:59.164864Z",
"url": "https://files.pythonhosted.org/packages/2c/85/0d03cfdd3e75d2f495dfc3cfe0e8d7056cee9fd48d03cfcbc0f677a9094b/azure_iot_hub_api-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-20 20:56:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "birddevelper",
"github_project": "azure-iot-hub-api",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "azure-iot-hub-api"
}