# 转发方式概述
设备接入到物联网平台后，便可与物联网平台进行通信。设备通过自定义Topic或产品模型方式将数据上报到平台，在控制台设置后，通过订阅推送的方式，将设备生命周期变更、设备属性上报、设备消息上报、设备消息状态变更、设备状态变更、批量任务状态变更等消息转发到您指定的服务器。
当前华为物联网平台支持HTTP/HTTPS、AMQP、MQTT和设备间通信四种数据转发方式。
- HTTP/HTTPS方式
  - 订阅：应用服务器通过调用物联网平台的[创建规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01307.html)、[创建规则动作](https://support.huaweicloud.com/api-iothub/iot_06_v5_01302.html)、[修改规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01309.html)接口配置并激活规则，或者在控制台创建订阅任务，向平台获取发生变更的设备业务信息（如设备生命周期管理、设备数据上报、设备消息状态、设备状态等）和管理信息（软固件升级状态和升级结果）。订阅时必须指定应用服务器的URL，也称为回调地址。（参考[调用订阅接口时，回调地址如何获取？](https://support.huaweicloud.com/iothub_faq/iot_faq_00101.html#section0)中什么是回调地址）。
  
  - 推送：订阅成功后，物联网平台根据应用服务器订阅的数据类型，将对应的变更信息（推送的通知内容可参考[数据流转](https://support.huaweicloud.com/api-iothub/iot_06_v5_01200.html)）推送给指定的URL地址。如果应用服务器没有订阅该类型的数据通知，即使数据发生了变更也不会进行推送。物联网平台进行数据推送时，数据格式为JSON格式，推送协议可以采用HTTP或HTTPS协议，其中HTTPS协议为加密传输协议，需要进行安全认证，更加安全，推荐使用。
  
  
  HTTP/HTTPS方式详细请参考[使用HTTP/HTTPS转发](https://support.huaweicloud.com/usermanual-iothub/iot_01_0001.html)。
  
- AMQP方式
  - 订阅：AMQP（Advanced Message Queuing Protocol）即高级队列消息协议。用户通过控制台创建订阅任务，也可以通过调用物联网平台的[创建规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01307.html)、[创建规则动作](https://support.huaweicloud.com/api-iothub/iot_06_v5_01302.html)、[修改规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01309.html)接口配置并激活规则，向平台获取发生变更的设备业务信息（如设备生命周期管理、设备数据上报、设备消息状态、设备状态等）和管理信息（软固件升级状态和升级结果）。订阅时必须指定具体的AMQP消息通道。
  
  - 推送：订阅成功后，物联网平台根据用户订阅的数据类型，将对应的变更信息推送给指定的AMQP消息队列。如果用户没有订阅该类型的数据通知，即使数据发生了变更也不会进行推送。用户可通过AMQP的客户端与IoT平台建立链接，来接收数据。
  
  
  AMQP详细请参考[使用AMQP转发](https://support.huaweicloud.com/usermanual-iothub/iot_01_00100.html)。
  
- MQTT方式
  - 订阅：用户可以通过调用物联网平台的[创建规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01307.html)、[创建规则动作](https://support.huaweicloud.com/api-iothub/iot_06_v5_01302.html)、[修改规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01309.html)接口配置并激活规则，向平台获取发生变更的设备业务信息（如设备生命周期管理、设备数据上报、设备消息上报、设备状态等）和管理信息（软固件升级状态和升级结果）。订阅时必须指定接收推送消息的Topic。
  
  - 推送：订阅成功后，物联网平台根据用户订阅的数据类型，将对应的变更信息推送给指定的Topic。如果用户没有订阅该类型的数据通知，即使数据发生了变更也不会进行推送。用户可通过MQTT的客户端与IoT平台建立连接，来接收数据。
  
  
  MQTT详细请参考[使用MQTT转发](https://support.huaweicloud.com/usermanual-iothub/iot_01_00110.html)。
  
- 设备间通信
  - 订阅：物联网平台支持基于MQTT协议实现设备间的消息通信，用户可通过控制台创建规则，也可以通过调用物联网平台的[创建规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01307.html)、[创建规则动作](https://support.huaweicloud.com/api-iothub/iot_06_v5_01302.html)、[修改规则触发条件](https://support.huaweicloud.com/api-iothub/iot_06_v5_01309.html)接口配置并激活规则，向平台获取设备上报的消息。设备订阅只支持消息上报。
  
  - 推送：订阅成功后，物联网平台会将设备上报的消息推送到指定的MQTT Topic，当设备接入平台后，可以通过订阅该Topic来接收数据，从而实现设备间的消息通信。
  
  
  设备间通信详细请参考[设备间通信](https://support.huaweicloud.com/usermanual-iothub/iot_01_00119.html)。
  
| 数据转发方式         | 适用场景                                                                                                                                                                                                                              | 优点       | 限制                                                                                                                              |
|:---|:---|:---|:---|
| HTTP/HTTPS订阅推送 | 应用作为服务端被动接收IoT云服务的消息。                                                                                                                                                                                                              | -        | 流控限制800TPS，不建议大流量推送使用HTTP/HTTPS方式。                                                                                            |
| AMQP订阅推送        | 应用作为客户端，可主动拉取IoT云服务的消息，也可以通过监听被动接收 IoT云服务的消息。                                                                                                                                                                                      | 能主动拉取数据  | 请参考[连接规格](https://support.huaweicloud.com/usermanual-iothub/iot_01_00100_2.html#ZH-CN_TOPIC_0267714241__section154238248204)。 |
| MQTT订阅推送           | 应用作为客户端，可以通过订阅接收 IoT云服务的消息。                                                                                                                                                                                                         | -       | 请参考[使用限制](https://support.huaweicloud.com/usermanual-iothub/iot_01_00111.html#ZH-CN_TOPIC_0288189806__section1565109112518)。    |
| 设备间通信           | - 智能家居控制场景，手机APP和智能设备之间进行消息通信。  - 设备联动，设备间进行数据传输与消息通信。   | 实现设备间通信 | 请参考[设备间消息通信概述](https://support.huaweicloud.com/usermanual-iothub/iot_02_9994.html)。                                              |
   
