Microsoft Azure IoT Hub Management Client Library for Python
Project description
Microsoft Azure SDK for Python
This is the Microsoft Azure IoT Hub Management Client Library. This package has been tested with Python 3.7+. For a more complete view of Azure libraries, see the azure sdk python release.
Disclaimer
Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to https://github.com/Azure/azure-sdk-for-python/issues/20691
Getting started
Prerequisites
- Python 3.7+ is required to use this package.
- Azure subscription
Install the package
pip install azure-mgmt-iothub
pip install azure-identity
Authentication
By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
AZURE_CLIENT_ID
for Azure client ID.AZURE_TENANT_ID
for Azure tenant ID.AZURE_CLIENT_SECRET
for Azure client secret.
In addition, Azure subscription ID can be configured via environment variable AZURE_SUBSCRIPTION_ID
.
With above configuration, client can be authenticated by following code:
from azure.identity import DefaultAzureCredential
from azure.mgmt.iothub import IotHubClient
import os
sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
client = IotHubClient(credential=DefaultAzureCredential(), subscription_id=sub_id)
Examples
Code samples for this package can be found at:
- Search IoT Hub Management on docs.microsoft.com
- Azure Python Mgmt SDK Samples Repo
Troubleshooting
Next steps
Provide Feedback
If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.
Release History
3.0.0 (2023-09-19)
Features Added
- Model RoutingEndpoints has a new parameter cosmos_db_sql_containers
Breaking Changes
- Model RoutingCosmosDBSqlApiProperties has a new required parameter container_name
- Model RoutingCosmosDBSqlApiProperties no longer has parameter collection_name
- Model RoutingEndpoints no longer has parameter cosmos_db_sql_collections
2.4.0 (2023-04-20)
Features Added
- Model IotHubProperties has a new parameter ip_version
2.4.0b1 (2023-02-15)
Other Changes
- Added generated samples in github repo
- Drop support for python<3.7.0
2.3.0 (2022-09-02)
Features Added
- Model IotHubProperties has a new parameter device_streams
- Model IotHubProperties has a new parameter encryption
- Model IotHubProperties has a new parameter root_certificate
- Model RoutingEndpoints has a new parameter cosmos_db_sql_collections
2.2.0 (2022-01-29)
Features
- Model IotHubDescription has a new parameter system_data
- Model IotHubProperties has a new parameter enable_data_residency
2.1.0 (2021-08-25)
Features
- Model IotHubProperties has a new parameter disable_local_auth
- Model IotHubProperties has a new parameter disable_device_sas
- Model IotHubProperties has a new parameter restrict_outbound_network_access
- Model IotHubProperties has a new parameter allowed_fqdn_list
- Model IotHubProperties has a new parameter disable_module_sas
- Model CertificateBodyDescription has a new parameter is_verified
2.0.0 (2021-05-14)
Features
- Model EndpointHealthData has a new parameter last_send_attempt_time
- Model EndpointHealthData has a new parameter last_known_error_time
- Model EndpointHealthData has a new parameter last_known_error
- Model EndpointHealthData has a new parameter last_successful_send_attempt_time
- Model ImportDevicesRequest has a new parameter identity
- Model ImportDevicesRequest has a new parameter configurations_blob_name
- Model ImportDevicesRequest has a new parameter include_configurations
- Model RoutingServiceBusTopicEndpointProperties has a new parameter identity
- Model RoutingStorageContainerProperties has a new parameter identity
- Model StorageEndpointProperties has a new parameter identity
- Model IotHubDescription has a new parameter identity
- Model IotHubProperties has a new parameter network_rule_sets
- Model ExportDevicesRequest has a new parameter identity
- Model ExportDevicesRequest has a new parameter configurations_blob_name
- Model ExportDevicesRequest has a new parameter include_configurations
- Model RoutingServiceBusQueueEndpointProperties has a new parameter identity
- Model RoutingEventHubProperties has a new parameter identity
Breaking changes
- Operation IotHubResourceOperations.create_event_hub_consumer_group has a new signature
1.0.0 (2020-12-18)
- GA release
1.0.0b1 (2020-11-12)
This is beta preview version.
This version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).
General breaking changes
-
Credential system has been completly revamped:
azure.common.credentials
ormsrestazure.azure_active_directory
instances are no longer supported, use theazure-identity
classes instead: https://pypi.org/project/azure-identity/credentials
parameter has been renamedcredential
-
The
config
attribute no longer exists on a client, configuration should be passed as kwarg. Example:MyClient(credential, subscription_id, enable_logging=True)
. For a complete set of supported options, see the parameters accept in init documentation of azure-core -
You can't import a
version
module anymore, use__version__
instead -
Operations that used to return a
msrest.polling.LROPoller
now returns aazure.core.polling.LROPoller
and are prefixed withbegin_
. -
Exceptions tree have been simplified and most exceptions are now
azure.core.exceptions.HttpResponseError
(CloudError
has been removed). -
Most of the operation kwarg have changed. Some of the most noticeable:
raw
has been removed. Equivalent feature can be found usingcls
, a callback that will give access to internal HTTP response for advanced user- For a complete set of supported options, see the parameters accept in Request documentation of azure-core
General new features
- Type annotations support using
typing
. SDKs are mypy ready. - This client has now stable and official support for async. Check the
aio
namespace of your package to find the async client. - This client now support natively tracing library like OpenCensus or OpenTelemetry. See this tracing quickstart for an overview.
0.12.0 (2020-05-12)
Features
- Model RoutingEventHubProperties has a new parameter entity_path
- Model RoutingEventHubProperties has a new parameter authentication_type
- Model RoutingEventHubProperties has a new parameter endpoint_uri
- Model RoutingEventHubProperties has a new parameter id
- Model RoutingServiceBusQueueEndpointProperties has a new parameter entity_path
- Model RoutingServiceBusQueueEndpointProperties has a new parameter authentication_type
- Model RoutingServiceBusQueueEndpointProperties has a new parameter endpoint_uri
- Model RoutingServiceBusQueueEndpointProperties has a new parameter id
- Model ImportDevicesRequest has a new parameter authentication_type
- Model ImportDevicesRequest has a new parameter output_blob_name
- Model ImportDevicesRequest has a new parameter input_blob_name
- Model ExportDevicesRequest has a new parameter authentication_type
- Model ExportDevicesRequest has a new parameter export_blob_name
- Model RoutingServiceBusTopicEndpointProperties has a new parameter entity_path
- Model RoutingServiceBusTopicEndpointProperties has a new parameter authentication_type
- Model RoutingServiceBusTopicEndpointProperties has a new parameter endpoint_uri
- Model RoutingServiceBusTopicEndpointProperties has a new parameter id
- Model RoutingStorageContainerProperties has a new parameter authentication_type
- Model RoutingStorageContainerProperties has a new parameter endpoint_uri
- Model RoutingStorageContainerProperties has a new parameter id
- Model IotHubProperties has a new parameter public_network_access
- Model IotHubProperties has a new parameter private_endpoint_connections
- Model IotHubProperties has a new parameter min_tls_version
- Model StorageEndpointProperties has a new parameter authentication_type
- Added operation group PrivateEndpointConnectionsOperations
- Added operation group PrivateLinkResourcesOperations
Breaking changes
- Operation IotHubResourceOperations.export_devices has a new signature
- Operation IotHubResourceOperations.import_devices has a new signature
0.11.0 (2020-03-17)
- Preview API versions 2018-12-01-preview, 2019-03-22-preview, 2019-07-01-preview included
0.10.0 (2020-01-09)
Features
- Support for multi-api
Breaking changes
- Model IotHubProperties no longer has parameter device_streams
0.9.0 (2019-10-09)
- Release 0.9.0 as stable.
0.9.0rc1 (2019-09-29)
Features
- Model IotHubProperties has a new parameter locations
General breaking changes
This version uses a next-generation code generator that might introduce breaking changes if from some import. In summary, some modules were incorrectly visible/importable and have been renamed. This fixed several issues caused by usage of classes that were not supposed to be used in the first place.
- IotHubClient cannot be imported from
azure.mgmt.iothub.iot_hub_client
anymore (import fromazure.mgmt.iothub
works like before) - IotHubClientConfiguration import has been moved from
azure.mgmt.iothub.iot_hub_client
toazure.mgmt.iothub
- A model
MyClass
from a "models" sub-module cannot be imported anymore usingazure.mgmt.iothub.models.my_class
(import fromazure.mgmt.iothub.models
works like before) - An operation class
MyClassOperations
from anoperations
sub-module cannot be imported anymore usingazure.mgmt.iothub.operations.my_class_operations
(import fromazure.mgmt.iothub.operations
works like before)
Last but not least, HTTP connection pooling is now enabled by default. You should always use a client as a context manager, or call close(), or use no more than one client per process.
0.8.2 (2019-05-15)
Bugfixes
- Fix manual_failover operation type
0.8.1 (2019-05-13)
Bugfixes
- Re-shipping 0.8.0 with wheel 0.33.4 (https://github.com/pypa/wheel/issues/294)
0.8.0 (2019-05-10)
Features
- Model RoutingProperties has a new parameter enrichments
- Added operation group IotHubOperations
Breaking changes
- Model IotHubProperties no longer has parameter operations_monitoring_properties
0.7.0 (2018-12-14)
Features
- Model OperationDisplay has a new parameter description
- Model TestRouteInput has a new parameter twin
- Model IotHubProperties has a new parameter device_streams
- Model TestAllRoutesInput has a new parameter twin
Breaking changes
- Operation IotHubResourceOperations.test_route has a new signature
- Operation IotHubResourceOperations.test_all_routes has a new signature
0.6.0 (2018-08-27)
Features
- Model CertificatePropertiesWithNonce has a new parameter certificate
- Model CertificateProperties has a new parameter certificate
- Added operation IotHubResourceOperations.test_all_routes
- Added operation IotHubResourceOperations.test_route
- Added operation IotHubResourceOperations.get_endpoint_health
- Added operation group ResourceProviderCommonOperations
- Client class can be used as a context manager to keep the underlying HTTP session open for performance
0.5.0 (2018-04-17)
General Breaking changes
This version uses a next-generation code generator that might introduce breaking changes.
- Model signatures now use only keyword-argument syntax. All positional arguments must be re-written as keyword-arguments. To keep auto-completion in most cases, models are now generated for Python 2 and Python 3. Python 3 uses the "*" syntax for keyword-only arguments.
- Enum types now use the "str" mixin (class AzureEnum(str, Enum)) to
improve the behavior when unrecognized enum values are encountered.
While this is not a breaking change, the distinctions are important,
and are documented here:
https://docs.python.org/3/library/enum.html#others At a glance:
- "is" should not be used at all.
- "format" will return the string value, where "%s" string
formatting will return
NameOfEnum.stringvalue
. Format syntax should be prefered.
- New Long Running Operation:
- Return type changes from
msrestazure.azure_operation.AzureOperationPoller
tomsrest.polling.LROPoller
. External API is the same. - Return type is now always a
msrest.polling.LROPoller
, regardless of the optional parameters used. - The behavior has changed when using
raw=True
. Instead of returning the initial call result asClientRawResponse
, without polling, now this returns an LROPoller. After polling, the final resource will be returned as aClientRawResponse
. - New
polling
parameter. The default behavior isPolling=True
which will poll using ARM algorithm. WhenPolling=False
, the response of the initial call will be returned without polling. polling
parameter accepts instances of subclasses ofmsrest.polling.PollingMethod
.add_done_callback
will no longer raise if called after polling is finished, but will instead execute the callback right away.
- Return type changes from
Bugfixes
- Compatibility of the sdist with wheel 0.31.0
Features
- Add new ApiVersion 2018-04-01
0.4.0 (2017-10-11)
Features
- New API version 2017-07-01. This is a backward compatible.
- Add "if_match" parameter when applicable
- Add certificates operation group
- Add list available operations method
- Add "storage_containers" attribute to RoutingEndpoints
0.3.0 (2017-06-13)
Features
- New API version 2017-01-19. This is a backward compatible.
- Adding "routing" information
0.2.2 (2017-04-20)
Bugfixes
- Fix possible deserialization error, but updating from dict<str, enumtype> to dict<str, str> when applicable
Notes
- This wheel package is now built with the azure wheel extension
0.2.1 (2016-12-16)
Bugfixes
- Fix #920 - Invalid return type for
list_event_hub_consumer_groups
0.2.0 (2016-12-12)
Bugfixes
- Better parameters checking (change exception from CloudError to TypeError)
- Date parsing fix (incorrect None date)
- CreateOrUpdate random exception fix
0.1.0 (2016-08-12)
- Initial Release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file azure-mgmt-iothub-3.0.0.tar.gz
.
File metadata
- Download URL: azure-mgmt-iothub-3.0.0.tar.gz
- Upload date:
- Size: 887.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: RestSharp/106.13.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | daf21fc98c68a353ec616318c0e62be04c8d6899960be8c2cbf991673ac8b722 |
|
MD5 | d7077fa450fabf85d4e37897446c7891 |
|
BLAKE2b-256 | e899145453e748480be1d7abf17ab56f45f295679bde00b3edf7a4199494cd74 |
File details
Details for the file azure_mgmt_iothub-3.0.0-py3-none-any.whl
.
File metadata
- Download URL: azure_mgmt_iothub-3.0.0-py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: RestSharp/106.13.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ba0fbe1736eebbadfe759075bc33412f03d920b5a982614bd07b9ab07a369c7 |
|
MD5 | b21e8995163d068d14ef5a20514aa5e6 |
|
BLAKE2b-256 | bb9d12b39ec0a898ac43476ac12db4761be23fbf0245696ddf49e02a8dd8b464 |