跳转到主要内容

适用于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

入门

先决条件

安装包

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)

示例

此包的代码示例可以在

故障排除

下一步

提供反馈

如果您遇到任何错误或有建议,请在该项目的 问题 部分提交问题。

Impressions

发行历史

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.credentialsmsrestazure.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 (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 (887.1 kB 查看散列)

上传时间

构建分布

azure_mgmt_iothub-3.0.0-py3-none-any.whl (1.3 MB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面