7 unstable releases (3 breaking)
Uses new Rust 2024
| 0.4.1 | Aug 23, 2025 |
|---|---|
| 0.4.0 | Jul 4, 2025 |
| 0.3.1 | May 5, 2025 |
| 0.2.1 | Apr 17, 2025 |
| 0.1.0 | Apr 16, 2025 |
#1094 in Encoding
3,645 downloads per month
425KB
11K
SLoC
rust-schema-registry-client
A fully asynchronous Rust client library for interacting with the Confluent Schema Registry.
The library
rust-schema-registry-client provides a Schema Registry client, along with serdes (serializers/deserializers) for
Avro, Protobuf, and JSON Schema.
Features
- Support for Avro, Protobuf, and JSON Schema formats
- Data quality rules using Google Common Expression Language (CEL) expressions
- Schema migration rules using JSONata expressions
- Client-side field-level encryption (CSFLE) rules using AWS KMS, Azure Key Vault, Google Cloud KMS, or HashiCorp Vault
This library can be used with rust-rdkafka but does not depend on it.
Serdes
AvroSerializerandAvroDeserializer- serdes that useapache-avroProtobufSerializerandProtobufDeserializer- serdes that useprostandprost-reflectJsonSerializerandJsonDeserializer- serdes that usejsonschema
Installation
Add this to your Cargo.toml:
[dependencies]
schema-registry-client = { version = "0.4.1" }
The following features are available:
rules-cel- enables data quality rules using CELrules-encryption-awskms- enables CSFLE rules using AWS KMSrules-encryption-azurekms- enables CSFLE rules using Azure Key Vaultrules-encryption-gcpkms- enables CSFLE rules using Google Cloud KMSrules-encryption-hcvault- enables CSFLE rules using HashiCorp Vaultrules-encryption-localkms- enables CSFLE rules using a local KMS (for testing)rules-jsonata- enables schema migration rules using JSONata
For example, to use CSFLE with the AWS KMS, add this to your Cargo.toml:
[dependencies]
schema-registry-client = { version = "0.4.0", features = ["rules-encryption-awskms"] }
Examples
You can find examples in the examples folder. To run them:
cargo run --example <example_name> -- <example_args>
Further information can be found in this blog.
Dependencies
~23–49MB
~801K SLoC