Azure IoT 中心定价信息

Azure IoT 中心定价 提供有关不同 SKU 和 IoT 中心的定价的一般信息。 本文详述了 IoT 中心如何按消息对各种 IoT 中心功能计费。

注意

本文中提到的某些功能(例如云到设备消息传递、设备孪生、设备管理)仅在 IoT 中心的标准层中提供。 有关基本层和标准/免费 IoT 中心层的详细信息,请参阅 为解决方案选择正确的 IoT 中心层和大小

每个操作的费用

使用下表可帮助确定哪些操作收费。 在基本层和标准层 IoT 中心,所有计费操作均以 4K 字节块大小为单位收费。 在免费层 IoT 中心,操作以 0.5K 字节区块大小为单位进行计量。 “计费信息”列提供了每个类别的详细信息。 此列包含以下信息:

  • 有关如何在基本层和标准层 IoT 中心计量计费操作的详细信息。 并非所有操作都在基本层中可用。
  • 产生费用的操作,带有以下任一项:
    • 指向 REST API 文档的链接(如果存在)。
    • 如果 REST API 文档不可用,或者该操作只能通过 MQTT 和/或 AMQP 使用,则为操作终结点。 终结点值省略了对目标 IoT 中心的前导引用:{fully-qualified-iothubname}.azure-devices.net
  • 每个操作(或终结点)后面的一个或多个斜体形式的术语。 这些术语表示根据 IoT 中心配额收费的计费操作。 在 Azure 门户上启动支持请求时,你可能会看到这些条款作为配额使用情况见解的一部分提供。 客户支持也可以恢复这些条款。 可以使用下表将这些术语与相应的作交叉引用,以帮助了解 IoT 解决方案的配额使用情况和计费。 有关详细信息,请参阅 示例 4
操作类别 计费信息
标识注册表操作
(创建、更新、获取、列出、删除、批量更新、统计信息)
不收费。
设备到云的消息 成功发送的消息以流入 IoT 中心的 4KB 区块大小为单位进行收费。 例如,一条 100 字节的消息按 1 条消息收费,一条 6 KB 的消息按 2 条消息收费。

将设备事件设备发送到云遥测设备到云遥测路由 ,具体取决于 IoT 中心是否配置了消息路由功能。
云到设备的消息 成功发送的消息以 4 KB 区块大小为单位收费。 例如,1 个 6KB 的消息按 2 个消息收费。

设备 - 接收设备绑定通知云到设备命令
文件上传 向 Azure 存储传输文件时,不通过 IoT 中心计费。 文件传输时的启动消息和完成消息按 4KB 增量数计费。 例如,传输一个 10 MB 的文件时,会在 Azure 存储费用的基础上收取两条消息的费用。

创建文件上传 SAS URI设备到云进行文件上传
更新文件上传状态设备到云文件上传
直接方法 成功的方法请求按 4 KB 的块收费,响应按 4 KB 的块作为额外消息收费。 没有有效负载的请求或响应作为 1 条消息收费。 例如,正文为 4 KB 的方法产生的来自设备的响应若没有有效负载,则按 2 条消息收费。 而正文为 6KB 的方法产生的来自设备的响应若为 1KB,则按 2 条请求消息收费,另加一条响应的消息费用。 向断开连接的设备发出的请求按消息以 4 KB 区块大小为单位收费,另加一条指示设备不在线的响应消息的费用。

设备 - 调用方法设备直接调用方法
模块 - 直接调用方法模块直接调用方法
设备和模块孪生读取 如果孪生从设备/模块和解决方案后端进行读取,则将其作为消息以 4 KB 区块大小为单位收费。 例如,读取 8 KB 的孪生按 2 条消息收费。

设备 - 获取孪生获取孪生
模块 - 获取孪生获取模块孪生

从设备读取设备和模块孪生:
终结点/devices/{id}/twin(仅限 MQTT、AMQP):D2C 获取孪生体
终结点/devices/{deviceid}/modules/{moduleid}/twin(仅限 MQTT、AMQP):模块 D2C 获取孪生
设备和模块孪生更新(标记和属性) 如果孪生从设备/模块和解决方案后端进行更新,则将其作为消息以 4 区块大小为单位收费。 例如,对孪生的 12 KB 更新按 3 条消息收费。

设备 - 更新数字孪生更新数字孪生
模块 - 更新孪生更新模块孪生
设备 - 替换孪生替换孪生
模块 - 替换孪生替换模块孪生

从设备更新设备或模块孪生报告的属性:
终结点/twin/PATCH/properties/reported/(仅限 MQTT、AMQP):D2 Patch ReportedProperties 或 Module D2 Patch ReportedProperties

在设备上接收所需属性更新通知:
终结点/twin/PATCH/properties/desired/(仅限 MQTT、AMQP):D2C Notify DesiredProperties 或 Module D2C Notify DesiredProperties
设备和模块孪生查询 针对 devices 或 devices.modules 的查询作为消息计费,具体取决于以 4 KB 区块为单位的结果大小。 针对 jobs 的查询不收费。

查询 - 获取孪生 (针对 设备devices.modules 集合进行查询): 查询设备
数字孪生体读取 如果数字孪生体从解决方案后端进行读取,则将其作为消息以 4 KB 区块大小为单位收费。 例如,读取 8 KB 的孪生按 2 条消息收费。

数字孪生 - 获取数字孪生获取数字孪生
数字孪生体更新 如果数字孪生体从解决方案后端进行更新,则将其作为消息以 4 KB 区块大小为单位收费。 例如,对孪生的 12 KB 更新按 3 条消息收费。

数字孪生 - 更新数字孪生修补数字孪生
数字孪生体命令 成功的命令以 4 KB 区块为单位收费,响应以 4 KB 区块作为额外消息收费。 没有正文的请求或响应按 1 条消息收费。 例如,正文为 4 KB 的命令产生的来自设备的响应若没有正文,则按 2 条消息收费。 正文为 6 KB 的命令产生的来自设备的响应若为 1 KB,则按 2 条命令消息收费,另加一条响应消息的费用。 对断开连接的设备执行的命令按消息以 4 KB 区块大小为单位收费,另加一条指示设备不在线的响应消息的费用。

数字孪生 - 调用组件命令数字孪生组件命令
数字孪生 - 调用根级别命令数字孪生根命令
作业操作
(创建、取消、获取、查询)
不收费。
作业的每设备操作数 作业操作(例如孪生更新和方法)以 4 KB 区块大小为单位收费。 例如,一个作业产生了 1,000 个方法调用,每个调用包含 1 KB 请求和空有效负载响应,因此按 2,000 条消息收费(每个请求和响应计为一条消息)。

更新孪生设备作业
调用方法设备作业
配置操作
(创建、更新、获取、列出、删除、测试查询)
不收费。
每设备配置操作 配置操作按消息以 4 KB 区块大小为单位收费。 响应不收费。 例如,正文为 6 KB 的应用配置操作按 2 条消息收费。

配置 - 在 Edge 设备上应用配置服务应用
连接保持的消息 使用 AMQP 或 MQTT 协议时,为建立连接而交换的消息和协商中交换的消息或为使连接保持打开和活动状态而交换的消息不收费。
设备流(预览版) 设备流处于预览阶段,操作尚未收费。

终结点/twins/{deviceId}/streams/{streamName}设备流
终结点/twins/{deviceId}/modules/{moduleId}/streams/{streamName}:设备流模块

注意

所有大小均按以字节为单位的有效负载大小进行计算(忽略协议组帧)。 对于具有属性和正文的消息,大小以无关协议的方式计算。 有关详细信息,请参阅创建和读取 IoT 中心消息

不同类型的操作的最大消息大小不同。 若要了解详细信息,请参阅 IoT Hub 配额和流量限制

对于某些操作,可以使用批处理和压缩策略来降低成本。 有关使用设备到云遥测的示例,请参阅 示例 #3

示例 #1

设备每分钟向 IoT 中心发送一条 1 KB 的设备到云消息,然后 Azure 流分析会读取该消息。 解决方案后端每 10 分钟调用设备上的 1 个方法(有效负载为 512 字节),以便触发特定操作。 设备以 200 字节大小的结果响应方法。

设备使用:

  • 一条消息 * 60 分钟 * 24 个小时 = 每天 1440 条消息用于设备到云消息传递。

  • 两条消息(请求加响应) * 每小时 6 次 * 24 小时 = 288 条消息。

此计算每天总共提供 1,728 条消息。

示例 2

某设备每小时发送 1 条 100KB 的设备到云的消息。 它还每隔 4 小时更新一次有效负载为 1KB 的设备孪生。 解决方案后端每天读取一次 14KB 的设备孪生并使用 512 字节的有效负载更新一次,以更改配置。

设备使用:

  • 25 (100KB/4KB) 条消息 * 24 小时用于设备到云消息传递。

  • 2 条消息 (1 KB/4 KB) * 每天 6 次用于设备孪生更新。

此计算得出每天共 606 条消息。

解决方案后端使用四条消息(14 KB/4 KB)读取设备孪生,以及一条消息(512/4 KB)进行更新,总共有 5 条消息。

设备和解决方案后端每天总共使用 611 条消息。

示例 3

根据你的方案,批处理消息可以减少配额使用量。

以某个设备为例,它有一个传感器,每次读取时仅生成 100 字节的数据:

  • 如果设备将 40 个传感器的读取数据批处理为具有 4 KB 有效负载的一条设备到云消息(40 * 100 字节),则仅按 1 条消息收取配额费用。 如果设备每小时读取传感器 40 次,并且每小时将这些读取数据批处理为一条设备到云消息,那么它每天将发送 24 条消息。

  • 如果设备针对每次传感器读取发送一条具有 100 字节有效负载的设备到云消息,那么它会针对相同数据量的配额消耗 40 条消息。 如果设备每小时读取传感器 40 次并单独发送每条消息,它每天将发送 960 条消息(40 条消息 * 24)。

批处理策略取决于你的具体情况以及数据的时间紧迫性。 如果你要发送大量数据,还可以考虑实施数据压缩,进一步降低对消息配额的影响。

示例 4

当你在 Azure 门户上创建支持请求时,系统会运行特定于所报告问题的诊断。 结果显示为请求的“解决方案”选项卡上的见解。 这种见解会使用前面表中的斜体术语报告 IoT 中心的配额使用情况。 是否返回此特定见解取决于在 IoT 中心针对所报告的问题执行的诊断结果。 如果报告了配额使用情况洞察,则可以使用该表格对照报告中提到的使用术语与其所指的操作。

例如,以下屏幕截图显示了针对设备到云遥测问题发起的支持请求。

显示在 Azure 门户支持请求中选择问题的屏幕截图。

选择 “下一个解决方案”后,诊断会根据 IoT 中心每日消息配额细分返回配额使用情况见解。 它会显示发送到 IoT 中心的设备到云消息的明细。 在本示例中,IoT 中心启用了消息路由,因此消息显示为“设备到云遥测路由”。 对于不同 IoT 中心上的相同问题,可能无法返回配额使用情况见解。 返回的内容取决于该 IoT 中心的活动和状态。

显示 Azure 门户支持请求中的配额使用情况的屏幕截图。