Skip to content

A simple client for interacting with Confluent Schema Registry

Notifications You must be signed in to change notification settings

alivraghi/Confluent-SchemaRegistry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

Confluent::SchemaRegistry - A simple client for interacting with Confluent Schema Registry.

SYNOPSIS

use Confluent::SchemaRegistry;

my $sr = Confluent::SchemaRegistry->new( { host => 'https://my-schema-registry.org' } );

DESCRIPTION

Confluent::SchemaRegistry provides a simple way to interact with Confluent Schema Registry (https://docs.confluent.io/current/schema-registry/docs/index.html) enabling writing into Apache Kafka (https://kafka.apache.org/) according to Apache Avro schema specification (https://avro.apache.org/).

HEAD UP

INSTALL

Installation of Kafka::Consumer::Avro is a canonical:

perl Makefile.PL
make
make test
make install

TEST NOTES

Tests expect that in the target host is available Schema Registry listening on http://localhost:8081, otherwise most of the test are skipped.

You can alternatively set a different URL by exporting CONFLUENT_SCHEMA_REGISTY_URL environment variable.

USAGE

Constructor

new( [%config] )

Construct a new Confluent::SchemaRegistry. Takes an optional hash that provides configuration flags for the REST::Client internal object.

The config flags, according to REST::Client::new specs, are:

  • host

    The host at which Schema Registry is listening.

    The default is http://localhost:8081

  • timeout

    A timeout in seconds for requests made with the client. After the timeout the client will return a 500.

    The default is 5 minutes.

  • cert

    The path to a X509 certificate file to be used for client authentication.

    The default is to not use a certificate/key pair.

  • key

    The path to a X509 key file to be used for client authentication.

    The default is to not use a certificate/key pair.

  • ca

    The path to a certificate authority file to be used to verify host certificates.

    The default is to not use a certificates authority.

  • pkcs12

    The path to a PKCS12 certificate to be used for client authentication.

  • pkcs12password

    The password for the PKCS12 certificate specified with 'pkcs12'.

  • follow

    Boolean that determins whether REST::Client attempts to automatically follow redirects/authentication.

    The default is false.

  • useragent

    An LWP::UserAgent object, ready to make http requests.

    REST::Client will provide a default for you if you do not set this.

METHODS

Confluent::SchemRegistry exposes the following methods.

get_response_content()

Returns the body (content) of the last method call to Schema Registry.

get_error()

Returns the error structure of the last method call to Schema Registry.

add_schema( %params )

Registers a new schema version under a subject.

Returns the generated id for the new schema or undef.

Params keys are:

  • SUBJECT ($scalar)

    the name of the Kafka topic

  • TYPE ($scalar)

    the type of schema ("key" or "value")

  • SCHEMA ($hashref or $json)

    the schema to add

TODO

...

AUTHOR

Alvaro Livraghi, alvarol@cpan.org

CONTRIBUTE

https://github.com/alivraghi/Confluent-SchemaRegistry

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.

About

A simple client for interacting with Confluent Schema Registry

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages