Current DX requires an object/struct that contains a payload, id and type. While this was initially intended to provide a lightweight cloudevents-like experience and encourage unique IDs for idempotency it likely imposes too much oppinion around messages.
Additionally, SDKs provide methods for deserializing messages e.g. ctx.req.json() which were intended to deserialize the payload, but instead deserialize the entire message, with payload as a property. This behaviour is unintuitive and needs to be updated to match the original intention.
Current DX requires an object/struct that contains a payload, id and type. While this was initially intended to provide a lightweight cloudevents-like experience and encourage unique IDs for idempotency it likely imposes too much oppinion around messages.
Additionally, SDKs provide methods for deserializing messages e.g.
ctx.req.json()
which were intended to deserialize the payload, but instead deserialize the entire message, with payload as a property. This behaviour is unintuitive and needs to be updated to match the original intention.