На самом деле это можно сделать двумя способами:
msg.value()['myFieldName']
или
msg.value().get('myFieldName')
Например,
c = AvroConsumer({
'bootstrap.servers': 'localhost:9092',
'schema.registry.url': 'localhost:8081',
'group.id': 'test-group'
})
c.subscribe(['Topic'])
while True:
try:
msg = c.poll(10)
if msg:
print(f"field1 Value: {msg.value()['field1']}")
print(f"field2 Value: {msg.value().get('field2')}")
else:
pass
except SerializerError as e:
print(f"Message deserialization failed for message {msg}:\n{e}")