适用于Python的Microsoft Azure IoT Hub管理客户端库
项目描述
Microsoft Azure SDK for Python
这是Microsoft Azure IoT Hub管理客户端库。此包已在Python 3.7+上进行了测试。有关Azure库的更完整视图,请参阅azure sdk python发布。
免责声明
Azure SDK Python包对Python 2.7的支持已于2022年1月1日结束。有关更多信息及问题,请参阅https://github.com/Azure/azure-sdk-for-python/issues/20691
入门
先决条件
- 使用此包需要Python 3.7+。
- Azure订阅
安装包
pip install azure-mgmt-iothub
pip install azure-identity
身份验证
默认情况下,Azure Active Directory令牌身份验证依赖于以下环境变量配置正确。
AZURE_CLIENT_ID
用于 Azure 客户端 ID。AZURE_TENANT_ID
用于 Azure 租户 ID。AZURE_CLIENT_SECRET
用于 Azure 客户端密钥。
此外,Azure 订阅 ID 可以通过环境变量 AZURE_SUBSCRIPTION_ID
进行配置。
以上配置后,客户端可以通过以下代码进行认证
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)
示例
此包的代码示例可以在
故障排除
下一步
提供反馈
如果您遇到任何错误或有建议,请在该项目的 问题 部分提交问题。
发行历史
3.0.0 (2023-09-19)
新增功能
- Model RoutingEndpoints 有一个新参数 cosmos_db_sql_containers
破坏性更改
- Model RoutingCosmosDBSqlApiProperties 有一个新必需参数 container_name
- Model RoutingCosmosDBSqlApiProperties 不再具有参数 collection_name
- Model RoutingEndpoints 不再具有参数 cosmos_db_sql_collections
2.4.0 (2023-04-20)
新增功能
- Model IotHubProperties 有一个新参数 ip_version
2.4.0b1 (2023-02-15)
其他更改
- 在 github 仓库中添加了生成的示例
- 取消对 python<3.7.0 的支持
2.3.0 (2022-09-02)
新增功能
- Model IotHubProperties 有一个新参数 device_streams
- Model IotHubProperties 有一个新参数 encryption
- Model IotHubProperties 有一个新参数 root_certificate
- Model RoutingEndpoints 有一个新参数 cosmos_db_sql_collections
2.2.0 (2022-01-29)
功能
- Model IotHubDescription 有一个新参数 system_data
- Model IotHubProperties 有一个新参数 enable_data_residency
2.1.0 (2021-08-25)
功能
- Model IotHubProperties 有一个新参数 disable_local_auth
- Model IotHubProperties 有一个新参数 disable_device_sas
- Model IotHubProperties 有一个新参数 restrict_outbound_network_access
- Model IotHubProperties 有一个新参数 allowed_fqdn_list
- Model IotHubProperties 有一个新参数 disable_module_sas
- Model CertificateBodyDescription 有一个新参数 is_verified
2.0.0 (2021-05-14)
功能
- Model EndpointHealthData 有一个新参数 last_send_attempt_time
- Model EndpointHealthData 有一个新参数 last_known_error_time
- Model EndpointHealthData 有一个新参数 last_known_error
- Model EndpointHealthData 有一个新参数 last_successful_send_attempt_time
- Model ImportDevicesRequest 有一个新参数 identity
- Model ImportDevicesRequest 有一个新参数 configurations_blob_name
- Model ImportDevicesRequest 有一个新参数 include_configurations
- Model RoutingServiceBusTopicEndpointProperties 有一个新参数 identity
- Model RoutingStorageContainerProperties 有一个新参数 identity
- Model StorageEndpointProperties 有一个新参数 identity
- Model IotHubDescription 有一个新参数 identity
- Model IotHubProperties 有一个新参数 network_rule_sets
- Model ExportDevicesRequest 有一个新参数 identity
- Model ExportDevicesRequest 有一个新参数 configurations_blob_name
- Model ExportDevicesRequest 有一个新参数 include_configurations
- Model RoutingServiceBusQueueEndpointProperties 有一个新参数 identity
- Model RoutingEventHubProperties 有一个新参数 identity
破坏性更改
- 操作 IotHubResourceOperations.create_event_hub_consumer_group 有一个新签名
1.0.0 (2020-12-18)
- GA 版本
1.0.0b1 (2020-11-12)
这是一个测试预览版本。
此版本使用下一代代码生成器,引入了重要的破坏性更改,但也引入了重要的新功能(如统一身份验证和异步编程)。
一般破坏性更改
-
凭证系统已被完全重写
azure.common.credentials
或msrestazure.azure_active_directory
实例不再受支持,请使用azure-identity
类:[https://pypi.ac.cn/project/azure-identity/](https://pypi.ac.cn/project/azure-identity/)credentials
参数已被重命名为credential
-
客户端上不再存在
config
属性,配置应通过关键字参数传递。例如:MyClient(credential, subscription_id, enable_logging=True)
。有关支持的完整选项集,请参阅azure-core 初始化文档中的参数接受 -
不能再导入
version
模块,请使用__version__
代替 -
之前返回
msrest.polling.LROPoller
的操作现在返回azure.core.polling.LROPoller
,并以begin_
前缀。 -
异常树已被简化,大多数异常现在为
azure.core.exceptions.HttpResponseError
(《CloudError》已被删除)。 -
大多数操作关键字参数已更改。其中一些最显著的变化
raw
已被移除。等效功能可以通过使用cls
来找到,这是一个回调,将为高级用户提供对内部 HTTP 响应的访问- 有关支持的完整选项集,请参阅azure-core 请求文档中的参数接受
一般新功能
- 支持使用
typing
进行类型注解。SDK 已为 mypy 准备就绪。 - 此客户端现在提供稳定和官方的异步支持。检查您包中的
aio
命名空间以找到异步客户端。 - 此客户端现在原生支持 OpenCensus 或 OpenTelemetry 等跟踪库。有关概述,请参阅此跟踪快速入门
0.12.0 (2020-05-12)
功能
- 模型
RoutingEventHubProperties
有一个新参数entity_path
- 模型
RoutingEventHubProperties
有一个新参数authentication_type
- 模型
RoutingEventHubProperties
有一个新参数endpoint_uri
- 模型
RoutingEventHubProperties
有一个新参数id
- 模型
RoutingServiceBusQueueEndpointProperties
有一个新参数entity_path
- 模型
RoutingServiceBusQueueEndpointProperties
有一个新参数authentication_type
- 模型
RoutingServiceBusQueueEndpointProperties
有一个新参数endpoint_uri
- 模型
RoutingServiceBusQueueEndpointProperties
有一个新参数id
- 模型
ImportDevicesRequest
有一个新参数authentication_type
- 模型
ImportDevicesRequest
有一个新参数output_blob_name
- 模型
ImportDevicesRequest
有一个新参数input_blob_name
- 模型
ExportDevicesRequest
有一个新参数authentication_type
- 模型
ExportDevicesRequest
有一个新参数export_blob_name
- 模型
RoutingServiceBusTopicEndpointProperties
有一个新参数entity_path
- 模型
RoutingServiceBusTopicEndpointProperties
有一个新参数authentication_type
- 模型
RoutingServiceBusTopicEndpointProperties
有一个新参数endpoint_uri
- 模型
RoutingServiceBusTopicEndpointProperties
有一个新参数id
- 模型
RoutingStorageContainerProperties
有一个新参数authentication_type
- 模型
RoutingStorageContainerProperties
有一个新参数endpoint_uri
- 模型
RoutingStorageContainerProperties
有一个新参数id
- 模型
IotHubProperties
有一个新参数public_network_access
- 模型
IotHubProperties
有一个新参数private_endpoint_connections
- 模型
IotHubProperties
有一个新参数min_tls_version
- 模型
StorageEndpointProperties
有一个新参数authentication_type
- 添加了操作组
PrivateEndpointConnectionsOperations
- 添加了操作组
PrivateLinkResourcesOperations
破坏性更改
- 操作
IotHubResourceOperations.export_devices
有一个新签名 - 操作
IotHubResourceOperations.import_devices
有一个新签名
0.11.0 (2020-03-17)
- 包括预览 API 版本 2018-12-01-preview、2019-03-22-preview、2019-07-01-preview
0.10.0 (2020-01-09)
功能
- 支持多 API
破坏性更改
- 模型
IotHubProperties
上不再有参数device_streams
0.9.0 (2019-10-09)
- 发布 0.9.0 作为稳定版本。
0.9.0rc1 (2019-09-29)
功能
- 模型
IotHubProperties
有一个新参数locations
一般破坏性更改
本版本使用新一代代码生成器,可能会因为某些导入而引入破坏性更改。简而言之,一些模块被错误地设置为可见/可导入,并且已经被重命名。这修复了一些本不应该使用类造成的问题。
- 无法从
azure.mgmt.iothub.iot_hub_client
导入 IotHubClient(从azure.mgmt.iothub
导入仍然像以前一样工作) - IotHubClientConfiguration 的导入已从
azure.mgmt.iothub.iot_hub_client
移至azure.mgmt.iothub
- 来自 "models" 子模块的模型
MyClass
无法再使用azure.mgmt.iothub.models.my_class
导入(从azure.mgmt.iothub.models
导入仍然像以前一样工作) - 来自
operations
子模块的操作类MyClassOperations
无法再使用azure.mgmt.iothub.operations.my_class_operations
导入(从azure.mgmt.iothub.operations
导入仍然像以前一样工作)
最后但同样重要的是,HTTP 连接池现在默认启用。您应始终将客户端用作上下文管理器,或调用 close(),或每个进程不超过一个客户端。
0.8.2 (2019-05-15)
错误修复
- 修复手动故障转移操作类型
0.8.1 (2019-05-13)
错误修复
- 重新发布 0.8.0,附带 wheel 0.33.4(https://github.com/pypa/wheel/issues/294)
0.8.0 (2019-05-10)
功能
- 模型 RoutingProperties 添加了新参数 enrichments
- 添加了操作组 IotHubOperations
破坏性更改
- 模型 IotHubProperties 不再具有参数 operations_monitoring_properties
0.7.0 (2018-12-14)
功能
- 模型 OperationDisplay 添加了新参数 description
- 模型 TestRouteInput 添加了新参数 twin
- Model IotHubProperties 有一个新参数 device_streams
- 模型 TestAllRoutesInput 添加了新参数 twin
破坏性更改
- 操作 IotHubResourceOperations.test_route 添加了新签名
- 操作 IotHubResourceOperations.test_all_routes 添加了新签名
0.6.0 (2018-08-27)
功能
- 模型 CertificatePropertiesWithNonce 添加了新参数 certificate
- 模型 CertificateProperties 添加了新参数 certificate
- 添加了操作 IotHubResourceOperations.test_all_routes
- 添加了操作 IotHubResourceOperations.test_route
- 添加了操作 IotHubResourceOperations.get_endpoint_health
- 添加了操作组 ResourceProviderCommonOperations
- 客户端类可以用作上下文管理器以保持底层 HTTP 会话打开以提高性能
0.5.0 (2018-04-17)
一般破坏性更改
本版本使用新一代代码生成器,可能会引入破坏性更改。
- 模型签名现在仅使用关键字参数语法。所有位置参数必须重写为关键字参数。为了在大多数情况下保持自动完成,现在为 Python 2 和 Python 3 生成模型。Python 3 使用 "*" 语法用于关键字唯一参数。
- 枚举类型现在使用 "str" 混合(class AzureEnum(str, Enum))以改进遇到未识别枚举值时的行为。虽然这不是破坏性更改,但区别很重要,此处有文档:https://docs.pythonlang.cn/3/library/enum.html#others 快速浏览
- "is" 完全不应使用。
- "format" 将返回字符串值,而 "%s" 字符串格式化将返回
NameOfEnum.stringvalue
。应首选格式化语法。
- 新长运行操作
- 返回类型从
msrestazure.azure_operation.AzureOperationPoller
更改为msrest.polling.LROPoller
。外部 API 相同。 - 现在返回类型始终是
msrest.polling.LROPoller
,无论使用哪些可选参数。 - 使用
raw=True
时的行为已更改。现在不是返回初始调用结果作为ClientRawResponse
而不轮询,而是返回 LROPoller。轮询后,最终资源将作为ClientRawResponse
返回。 - 新
polling
参数。默认行为是Polling=True
,将使用 ARM 算法进行轮询。当Polling=False
时,将返回初始调用的响应而不轮询。 polling
参数接受msrest.polling.PollingMethod
子类的实例。- 调用
add_done_callback
后将不再引发错误,而是立即执行回调。
- 返回类型从
错误修复
- SDist与wheel 0.31.0的兼容性
功能
- 添加新的ApiVersion 2018-04-01
0.4.0 (2017-10-11)
功能
- 新的API版本2017-07-01。这是向后兼容的。
- 当适用时添加"if_match"参数
- 添加证书操作组
- 添加列出可用操作的方法
- 将"storage_containers"属性添加到RoutingEndpoints
0.3.0 (2017-06-13)
功能
- 新的API版本2017-01-19。这是向后兼容的。
- 添加"routing"信息
0.2.2 (2017-04-20)
错误修复
- 修复可能的反序列化错误,但适用时从dict
更新到dict
备注
- 此wheel包现在使用azure wheel扩展构建
0.2.1 (2016-12-16)
错误修复
- 修复#920 -
list_event_hub_consumer_groups
的无效返回类型
0.2.0 (2016-12-12)
错误修复
- 更好的参数检查(将异常从CloudError更改为TypeError)
- 日期解析修复(不正确的None日期)
- 创建或更新随机异常修复
0.1.0 (2016-08-12)
- 初始发布
项目详情
下载文件
下载适用于您平台的应用程序。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
azure-mgmt-iothub-3.0.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | daf21fc98c68a353ec616318c0e62be04c8d6899960be8c2cbf991673ac8b722 |
|
MD5 | d7077fa450fabf85d4e37897446c7891 |
|
BLAKE2b-256 | e899145453e748480be1d7abf17ab56f45f295679bde00b3edf7a4199494cd74 |
azure-mgmt_iothub-3.0.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4ba0fbe1736eebbadfe759075bc33412f03d920b5a982614bd07b9ab07a369c7 |
|
MD5 | b21e8995163d068d14ef5a20514aa5e6 |
|
BLAKE2b-256 | bb9d12b39ec0a898ac43476ac12db4761be23fbf0245696ddf49e02a8dd8b464 |