NAME

Kafka::Consumer::Avro - Avro message consumer for Apache Kafka.

SYNOPSIS

use Kafka::Connection;
use Kafka::Consumer::Avro;

my $connection = Kafka::Connection->new( host => 'localhost' );

my $consumer = Kafka::Consumer::Avro->new( Connection => $connection );

# Do some interactions with Avro & SchemaRegistry before sending messages

# Fetch messages
my $response = $consumer->fetch(...);

# Closes the consumer and cleans up
undef $consumer;
$connection->close;
undef $connection;

DESCRIPTION

Kafka::Consumer::Avro main feature is to provide object-oriented API to consume messages according to Confluent SchemaRegistry and Avro serialization.

Kafka::Consumer::Avro inerhits from and extends Kafka::Consumer.

CONSTRUCTOR

new

Creates new consumer client object.

new() takes arguments in key-value pairs as described in Kafka::Consumer from which it inherits.

In addition, takes in the following arguments:

SchemaRegistry => $schema_registry (mandatory)

Is a Confluent::SchemaRegistry instance.

METHODS

The following methods are defined for the Kafka::Avro::Consumer class:

schema_registry()

Returns the Confluent::SchemaRegistry instance supplied to the construcor.

get_error()

Returns a string containing last error message.

fetch( %params )

Gets messages froma a Kafka topic.

Please, see Kafka::Consumer for more details.

AUTHOR

Alvaro Livraghi, <alvarol@cpan.org>

CONTRIBUTE

https://github.com/alivraghi/Kafka-Consumer-Avro

BUGS

Please use GitHub project link above to report problems or contact authors.

COPYRIGHT AND LICENSE

Copyright 2018 by Alvaro Livraghi

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.