Related with Azure/azure-event-hubs-go#131.
After some investigation, I find that the msg received in the below method only has three Annotations:
|
func (r *Receiver) Receive(ctx context.Context) (*Message, error) { |
|
if atomic.LoadUint32(&r.link.paused) == 1 { |
|
select { |
|
case r.link.receiverReady <- struct{}{}: |
|
default: |
|
} |
|
} |
|
|
|
// non-blocking receive to ensure buffered messages are |
|
// delivered regardless of whether the link has been closed. |
|
select { |
|
case msg := <-r.link.messages: |
|
msg.receiver = r |
|
return &msg, nil |
|
case <-ctx.Done(): |
|
return nil, ctx.Err() |
|
default: |
|
} |
|
|
|
// wait for the next message |
|
select { |
|
case msg := <-r.link.messages: |
|
msg.receiver = r |
|
return &msg, nil |
|
case <-r.link.done: |
|
return nil, r.link.err |
|
case <-ctx.Done(): |
|
return nil, ctx.Err() |
|
} |
|
} |

The missing x-opt-partition-id annotation prevents the event hubs library to parse the partitionId for the event.
https://github.com/Azure/azure-event-hubs-go/blob/26616d904577c5d0b8c0a486b4b0e77c9c002284/event.go#L56-L62
Related with Azure/azure-event-hubs-go#131.
After some investigation, I find that the msg received in the below method only has three Annotations:
amqp/client.go
Lines 1810 to 1839 in 7c41f1a
The missing
x-opt-partition-idannotation prevents the event hubs library to parse the partitionId for the event.https://github.com/Azure/azure-event-hubs-go/blob/26616d904577c5d0b8c0a486b4b0e77c9c002284/event.go#L56-L62