Iotedge: Message Routing between Edge Module

Created on 11 Sep 2018  路  5Comments  路  Source: Azure/iotedge

I know that there is size restrictions on sending messages from the device to the cloud(256KB). It seems that the same restrictions exist between edge modules. Is it possible to increase message size limitation just between edge modules? If I modify the code as below and rebuild the edgeHub, what the effect it will have? Thanks!
image

customer-reported enhancement iotedge

Most helpful comment

Is this limit implemented as Edge Hub end as well. Actually we need to send more than 256KB message packet within modules and we are getting size error as of now ...

All 5 comments

Yes, the same restrictions exist on the Edge Hub as in the cloud (IoT Hub). Due to various technical reasons, this limit is very unlikely to be increased in the cloud.

You can change this constant and recompile. However, you will no longer be able to route messages greater than 256kb to the cloud. IoT Hub will reject any message larger than 256kb.

May I please ask what your scenario is and why you need messages larger than 256kb? Perhaps there is a different pattern we could use.

@myagley thanks for your quick response.
In industrial IoT, the common scenario is collecting data from sensor. Currently, we are trying to develop a communication module on Edge to collect vibration data from data acquisition(DAQ), then route these data to another edge module to do analysis. Here is out architecture.
image

In this case, the raw data about vibration from sensor will be very large, it includes more than 3*8192 double integer in one message(3 means X, Y, Z axis, 8192 depends on sample rate) but the output of analysis module is very simple like if it's abnormal. So, the size restriction about message to cloud is not important in this case and I don't think it's make sense to limit the size of message between edge module because all calculations are in the edge device no cloud. The better way may be users can configure the size of message between edge modules by themselves.

The above is my personal thoughts. Feel free to give yours!

Is it possible to chunk the payload yourself to stay under the payload size limit?

The issue is that a message that is greater than the limit and received by Edge Hub could potentially be routed to IoT Hub via the routing rules. In this case, IoT Hub will reject the message, introducing a sort of "poison" message in Edge Hub. The limit is in place in Edge Hub to prevent this situation from occurring.

This is unlikely to be changed any time soon. IoT Edge would like to maintain the same limit as IoT Hub. IoT Hub has no plans to increase the payload limit size.

Is this limit implemented as Edge Hub end as well. Actually we need to send more than 256KB message packet within modules and we are getting size error as of now ...

Was this page helpful?
0 / 5 - 0 ratings