wisrtoni40-confluent-schema

1.0.0 • Public • Published

wisrtoni40-confluent-schema

Install

npm i wisrtoni40-confluent-schema --save

Table of Contents

Quickstart

Consumer

Full Example

import {
  ConfluentAvroStrategy,
  ConfluentMultiRegistry,
  ConfluentSubResolveStrategy,
} from 'wisrtoni40-confluent-schema';

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));

Producer

Full Example

import {
  ConfluentAvroStrategy,
  ConfluentMultiRegistry,
  ConfluentPubResolveStrategy,
} from 'wisrtoni40-confluent-schema';

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));

Feature

  • 提供多個Brokers的Confluent Avro Schema解析API

API

ConfluentMultiRegistry

Class implements SchemaRegistry,多個Brokers的Confluent Schema Registry

constructor

ConfluentMultiRegistry的建構值

Parameter Type Required Default Description
host string Required undefined Brokers Host 多筆可用,隔開,如: 'http://localhost:8585,http://localhost:8585,http://localhost:8585'

ConfluentAvroStrategy

Class implements AvroResolveStrategy,Confluent Avro Schema的解析策略

ConfluentSubResolveStrategy

Class implements ConsumerResolveStrategy,Confluent Schema Consumer的解析器

constructor

ConfluentSubResolveStrategy的建構值

Parameter Type Required Default Description
schemaRegistry SchemaRegistry Required undefined Schema Registry
avroResolver AvroResolveStrategy Required undefined Avro解析策略

Methods

resolve

將Avro資料解析成特定JSON格式

Parameter Type Required Default Description
input string | Buffer Required undefined 要解析的資料
returns Promise<T> Required undefined 回傳解析後的資料

ConfluentPubResolveStrategy

Class implements ProducerResolveStrategy,Confluent Schema Producer的解析器

constructor

ConfluentPubResolveStrategy的建構值

Parameter Type Required Default Description
schemaRegistry SchemaRegistry Required undefined Schema Registry
avroResolver AvroResolveStrategy Required undefined Avro解析策略
destination string Required undefined 發送資料的目的地

resolve

將特定JSON資料解析成Avro

Parameter Type Required Default Description
input any | any[] Required undefined 要解析的資料
returns Promise<Buffer | Buffer[]> Required undefined 回傳解析後的Avro

Package Sidebar

Install

npm i wisrtoni40-confluent-schema

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

137 kB

Total Files

123

Last publish

Collaborators

  • steveylin