qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alessio Gottardo <tappo...@yahoo.it.INVALID>
Subject Electron/Amqp MessageAnnotations in Golang
Date Mon, 06 Nov 2017 11:29:59 GMT
Hi there,

I am having a hard time at parsing this field `MessageAnnotations() map[AnnotationKey]interface{}`
from this type: https://godoc.org/qpid.apache.org/amqp#Message when receiving a message.

I am connecting to a Azure Event Hub which is supposed to send some useful annotations that
I would like to parse e.g.:

- the field called "x-opt-sequence-number" to retrieve the offset of this message in the
partition 
- the field called "x-opt-enqueued-time" for the timestamp

Cf. this for more details: https://github.com/Azure/amqpnetlite/blob/master/docs/articles/azure_eventhubs.md

However at runtime when I attempt at accessing that golang field with `amqpMessage.MessageAnnotations()`
then I keep getting a panic message saying: `cannot unmarshal AMQP timestamp to *interface
{}`

It seems there is a missing switch-case scenario in here: https://github.com/apache/qpid-proton/blob/go1/amqp/unmarshal.go#L248 

Am I doing anything wrong in the way I am trying to access those AMQP fields? 
How could I try to avoid that panic at line 551 in the "default" case of the switch?
I am not familiar with AMQP and golang so I am wondering if I should do things in a different
/ more idiomatic way instead.

Thank you
Alessio




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message