kafka-node-avro
Version:
kafka avro serialization
137 lines (111 loc) • 2.92 kB
JavaScript
const KafkaAvro = require('./');
const Settings = {
"kafka" : {
"kafkaHost" : "localhost:9092"
},
"schema": {
"registry" : "http://localhost:8081",
"options" : {
"auth" : {
"user" : "username",
"pass" : "password",
"sendImmediately" : true
}
}
}
};
KafkaAvro.init(Settings).then( kafka => {
kafka.send([{
topic : 'pageviews',
messages : {
page : 1,
cost : 0,
name : 'hello world'
}
}]).then( sent => {
console.log('Sent : ', sent);
} , error => {
console.error(error);
});
} , error => {
console.error(error);
});
//const myCustomPlugin = function(core){
//// Overwrite
//core.Registry.endpoints.allVersions = function(id, name, version){
//return `subjects/${name}-value/versions`;
//};
//};
//.use(myCustomPlugin)
//kafka.schemas.getById(1).then( schema => {
//console.log('Got by id', schema);
//} , onError);
//kafka.schemas.getByName('transactions').then( schema => {
//console.log('Got by name', schema);
//} , onError);
//setInterval(function(){
//kafka.send({
//topic : 'transactions',
//messages : {
//id : 'x',
//amount : 10
//}
//}).then( sent => {
//console.log('Sent : ', sent);
//}, onError);
//}, 1000);
//let consumer = kafka.addConsumer("transactions");
//consumer.on('message', message => {
//console.log('we got a message : ', message);
//});
//consumer.on('error', onError);
//function onError(error){
//console.error(error);
//}
//let payment = {
//id: 'txn1576511768154',
//time: '2019-12-16T15:56:08.154Z',
//amount: Buffer.from("10.5"),
////amount: 10.5,
//currency: 'USD',
//creditCardId: '5390713494347532',
//merchantId: 51
//}
//setInterval(function(){
//kafka.send({
//topic : 'payments',
//messages : payment
//}).then( sent => {
////.. noop
//}, error =>{
//console.log(error);
//});
//}, 1000);
//const KafkaAvro = require('kafka-node-avro');
//const Settings = {
//"kafka": {
//"kafkaHost": "127.0.0.1:9092"
//},
//"schema": {
//"registry": "http://127.0.0.1:8081"
//"topics" : [{ "name" : "cc_payments" }]
//}
//};
//KafkaAvro.init(Settings).then( kafka => {
//kafka.schemas.getByName('cc_payments').then( schema => {
//schema.decode = function(message){
//return schema.parser.fromBuffer(message.slice(5)); // Default
//};
//let consumer = kafka.addConsumer('cc_payments', { kafkaHost: "127.0.0.1:9092", groupId: "TestGroupOne", fromOffset: "latest" });
//consumer.on('message', message => {
//console.log(message);
//});
//consumer.on('error', error => {
//console.log(error);
//});
//}, error => {
//console.log(error);
//});
//}, error => {
//console.log(error);
//});