UNPKG

pubsub-tool

Version:

Producer and Consumer Tool for every streaming component

78 lines (54 loc) 2.16 kB
PubSub Tool # Install ``` npm i pubsub-tool --save ``` # Table of Contents - [Feature](#Feature) - [API](#API) - [ConfluentSubResolveStrategy](#ConfluentSubResolveStrategy): for kafka consumer - [ConfluentPubResolveStrategy](#ConfluentPubResolveStrategy): for kafka producer # Feature * Confluent Schema Registry and Avro Resolver # API ## Confluent Schema Registry and Avro Resolver Usage ### ConfluentSubResolveStrategy Parameter | Type | Description -----|:-----:|-----:| schemaRegistry | SchemaRegistry | Schema Registry avroResolver | AvroResolveStrategy | Avro Resolve Strategy [Full Example](https://github.com/SteveLin100132/pubsub-tool/blob/master/examples/confluent-kafka-consumer.ts) ```typescript import { ConfluentAvroStrategy, ConfluentMultiRegistry, ConfluentSubResolveStrategy, } from 'pubsub-tool'; const registryHost = 'http://localhost:8585,http://localhost:8585,http://localhost:8585'; const schemaRegistry = new ConfluentMultiRegistry(registryHost); const avro = new ConfluentAvroStrategy(); const resolver = new ConfluentSubResolveStrategy(schemaRegistry, avro); const data = new Buffer(); resolver.resolve(data).then(val => console.log(val)); ``` ### ConfluentPubResolveStrategy Parameter | Type | Description -----|:-----:|-----:| schemaRegistry | SchemaRegistry | Schema Registry avroResolver | AvroResolveStrategy | Avro Resolve Strategy destination | string | Pubish destination [Full Example](https://github.com/SteveLin100132/pubsub-tool/blob/master/examples/confluent-kafka-producer.ts) ```typescript import { ConfluentAvroStrategy, ConfluentMultiRegistry, ConfluentPubResolveStrategy, } from 'pubsub-tool'; const registryHost = 'http://localhost:8585,http://localhost:8585,http://localhost:8585'; const topic = 'testing.topic' const schemaRegistry = new ConfluentMultiRegistry(registryHost); const avro = new ConfluentAvroStrategy(); const resolver = new ConfluentPubResolveStrategy(schemaRegistry, avro, topic); const data = { name: 'name', age: 18 }; resolver.resolve(data).then(buf => console.log(buf)); ```