Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

is a library that makes it easier to interact with the Confluent schema registry

License

Notifications You must be signed in to change notification settings

wealthsimple/confluent-schema-registry

 
 

Repository files navigation

confluent-schema-registry

@kafkajs/confluent-schema-registry is a library that makes it easier to interact with the Confluent schema registry, it provides convenient methods to encode, decode and register new schemas using the Apache Avro serialization format and Confluent's wire format.

Build Status

Getting started

npm install @kafkajs/confluent-schema-registry
# yarn add @kafkajs/confluent-schema-registry
const { Kafka } = require('kafkajs')
const { SchemaRegistry } = require('@kafkajs/confluent-schema-registry')

const kafka = new Kafka({ clientId: 'my-app', brokers: ['kafka1:9092'] })
const registry = new SchemaRegistry({ host: 'http://registry:8081/' })
const consumer = kafka.consumer({ groupId: 'test-group' })

const run = async () => {
  await consumer.connect()
  await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })

  await consumer.run({
    eachMessage: async ({ topic, partition, message }) => {
      const decodedKey = await registry.decode(message.key)
      const decodedValue = await registry.decode(message.value)
      console.log({ decodedKey, decodedValue })
    },
  })
}

run().catch(console.error)

Documentation

Learn more about using KafkaJS Confluent Schema registry on the official site!

License

See LICENSE for more details.

About

is a library that makes it easier to interact with the Confluent schema registry

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 68.3%
  • JavaScript 29.7%
  • Shell 1.1%
  • Other 0.9%