{"repo":"meinestadt/glue-schema-registry","free":true,"listed":false,"github":"https://github.com/meinestadt/glue-schema-registry","clone":"git clone https://github.com/meinestadt/glue-schema-registry.git","description":"This is a SerDe library to interact with the AWS Glue Schema Registry. It makes it easy to encode and decode messages with Avro schemas and the AWS' wire format.","language":"TypeScript","stars":17,"topics":["avro","kafka","msk","aws","nodejs","schema","serde"],"license":"MIT","category":"data-pipelines","readme_excerpt":"glue-schema-registry This is a SerDe library to interact with the AWS Glue Schema Registry. It makes it easy to encode and decode messages with Avro schemas and the AWS' wire format. It's primary built to produce and consume messages with MSK, Kafka, Kinesis, SNS, and so on. This enables the creation of Javascript/Typescript applications that are compatible with messages created with the AWS Glue Java SerDe libraries. Apache Avro-encoded messages can be created and consumed using this library. Protobuf and JSON Schema are not currently supported. The library supports gzip compression, schema registration, and schema evolution. Avsc (https://github.com/mtth/avsc) is used for avro encoding/decoding. This library works well with kafkajs (https://kafka.js.org). Getting started Install with npm Usage First, create an avro schema and register it. the encoded message can then be sent to Kafka or MSK, for example: To decode received messages: Note: registry.decode expects the raw message as the first parameter, plus the target schema as the second parameter. If the message is encoded with a different version of the schema, the encoding schema gets loaded from Glue. The record is then converted to the target schema. If the schemas are not compatible an exception is thrown. Advanced Type parameter You can set the payload type per call instead of per registry instance. This allows a single GlueSchemaRegistry to handle multiple schemas in the same process. For example: The constructor ta","default_branch":null,"files":null,"tree":[],"storefront":"/r/meinestadt","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/meinestadt/glue-schema-registry/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}