JSON → Apache Avro (.avsc)
Apache Avro & Confluent Schema Registry

JSON to Apache Avro Schema (.avsc) Converter

Konvertieren Sie JSON-Nutzdaten in produktionsreife Apache Avro-Schemadefinitionen (.avsc) mit Namespaces, primitiven und logischen Typen, nullfähigen Union-Feldern und Schemakompatibilitätsregeln.

100% Client-seitige Privatsphäre
Zero Server Upload
Voreinstellungen:
Avro Compiler Options & Schema Registry Settings
OrderFulfillmentEvent•smart
Felder
Eingabe21 fields
{
"type": "record",
"name": "OrderFulfillmentEvent",
"namespace": "com.ecommerce.events.orders",
"doc": "Standard Avro event schema compiled from JSON payload for OrderFulfillmentEvent",
"fields": [
{
"name": "eventId",
"type": {
"type": "string",
"logicalType": "uuid"
},
"doc": "Standard UUID identifier for eventId",
"default": "00000000-0000-0000-0000-000000000000"
},
{
"name": "orderNumber",
"type": "string",
"doc": "Text string for orderNumber",
"default": ""
},
{
"name": "eventType",
"type": "string",
"doc": "Text string for eventType",
"default": ""
},
{
"name": "occurredAt",
"type": {
"type": "long",
"logicalType": "timestamp-millis"
},
"doc": "UTC timestamp (milliseconds since epoch) for occurredAt",
"default": 0
},
{
"name": "customer",
"type": {
"type": "map",
"values": "string"
},
"doc": "Associative string-keyed map for customer",
"default": {}
},
{
"name": "shippingAddress",
"type": {
"type": "map",
"values": "string"
},
"doc": "Associative string-keyed map for shippingAddress",
"default": {}
},
{
"name": "lineItems",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "LineItemsItem",
"namespace": "com.ecommerce.events.orders",
"doc": "Standard Avro event schema compiled from JSON payload for LineItemsItem",
"fields": [
{
"name": "sku",
"type": "string",
"doc": "Text string for sku",
"default": ""
},
{
"name": "productName",
"type": "string",
"doc": "Text string for productName",
"default": ""
},
{
"name": "quantity",
"type": "int",
"doc": "Numeric value (int) for quantity",
"default": 0
},
{
"name": "unitPrice",
"type": "double",
"doc": "Numeric value (double) for unitPrice",
"default": 0
},
{
"name": "currency",
"type": "string",
"doc": "Text string for currency",
"default": ""
},
{
"name": "isTaxExempt",
"type": "boolean",
"doc": "Boolean flag for isTaxExempt",
"default": false
}
]
}
},
"doc": "List of LineItemsItem records for lineItems",
"default": []
},
{
"name": "subtotal",
"type": "double",
"doc": "Numeric value (double) for subtotal",
"default": 0
},
{
"name": "taxAmount",
"type": "double",
"doc": "Numeric value (double) for taxAmount",
"default": 0
},
{
"name": "shippingFee",
"type": "int",
"doc": "Numeric value (int) for shippingFee",
"default": 0
},
{
"name": "grandTotal",
"type": "double",
"doc": "Numeric value (double) for grandTotal",
"default": 0
},
{
"name": "currency",
"type": "string",
"doc": "Text string for currency",
"default": ""
},
{
"name": "couponCode",
"type": [
"null",
"string"
],
"doc": "Nullable string field for couponCode",
"default": null
},
{
"name": "payment",
"type": {
"type": "map",
"values": "string"
},
"doc": "Associative string-keyed map for payment",
"default": {}
},
{
"name": "notes",
"type": "string",
"doc": "Text string for notes",
"default": ""
}
]
}
Felder21 Felder (1 nullable)
Hierarchy & Max DepthEbene 1 (1 Datensätze)
Logical Types & Compatibility2 logische Typen • BACKWARD

Zero-Knowledge Lokale Ausführung

Alle Datenverarbeitungen, Parsen und Generierungen laufen streng im lokalen Browserspeicher ab. Keine externen Server-Uploads.

Sub-Millisekunden AST-Engine

All data payloads remain strictly local with zero external server communication.

Production Ready Export

Clean, optimized output formats ready for immediate deployment.

Technische Referenz & Architektur-Leitfaden

JSON-zu-Apache-Avro-Schema (.avsc) Konverter — Referenz-Leitfaden

Konvertieren Sie JSON-Nutzdaten in produktionsreife Apache Avro-Schemadefinitionen (.avsc) mit Namespaces, primitiven und logischen Typen, nullfähigen Union-Feldern und Schemakompatibilitätsregeln.

Wichtige Parameter & Steuerelemente

recordNamestring

Der Bezeichner des Hauptdatensatzes (Record) für das generierte Avro-Schema. Muss den Avro-Namenskonventionen entsprechen (beginnend mit [A-Za-z_], nur alphanumerische Zeichen oder Unterstriche).

Standard: AutoRecord
namespacestring

Der Paket- oder Domänen-Namespace (z. B. com.company.events), der den Datensatz isoliert und Namenskonflikte in der Schema Registry verhindert.

Standard: com.example.avro
nullabilityModestring

Bestimmt, wie optionale oder nullwertige JSON-Felder abgebildet werden. 'union_null_first' erzeugt ["null", typ] mit default: null für maximale Abwärtskompatibilität.

Standard: union_null_first
inferLogicalTypesboolean

Aktiviert die automatische Erkennung von ISO-8601-Zeitstempeln, UUIDs und hochpräzisen Zahlen zur Annotation mit Avro-LogicalTypes (z. B. timestamp-millis, uuid).

Standard: true

Profi-Tipps & Best Practices

Reihenfolge der Union-Zweige

Gemäß Apache Avro 1.x Spezifikation muss der Standardwert (default) dem ersten Zweig des Union-Arrays entsprechen. Bei "default": null muss die Definition zwingend ["null", "string"] lauten, nicht ["string", "null"].

Standardwerte für Kompatibilität

Definieren Sie bei Erweiterung von Schemas in Confluent Schema Registry oder Apicurio für jedes neu hinzugefügte Feld stets einen Standardwert (default), um BACKWARD- und FULL-Kompatibilität sicherzustellen.

Große Ganzzahlen als long mappen

Ganzzahlen, die den 32-Bit-Wert (2^31 - 1) überschreiten können (wie UNIX-Millisekunden-Zeitstempel oder Datenbank-IDs), müssen als 'long' deklariert werden, um Überläufe bei der Binärserialisierung auszuschließen.

Häufige Fallstricke & Fehlerbehebung

org.apache.avro.AvroTypeException: Default value for field does not match union branch 0

Passen Sie das Union-Array so an, dass der Typ des Standardwerts das erste Element ist. Für "default": null muss das Array mit "null" beginnen, z. B. ["null", "string"].

Confluent Schema Registry meldet SchemaIncompatibleException bei neuen Feldern

Fügen Sie jedem neu eingeführten Feld in der .avsc-Datei ein explizites "default"-Attribut (z. B. null, einen leeren String oder false) hinzu.

Häufig gestellte Fragen (FAQ)

Was ist eine Apache Avro .avsc-Schemadatei?▼

Eine .avsc-Datei ist eine in JSON verfasste Schemadefinition für Apache Avro. Sie legt Datensatznamen, Namespaces, Typen und Standardwerte fest, die für die hocheffiziente binäre Serialisierung in Systemen wie Kafka, Spark und Hadoop genutzt werden.

Wie werden verschachtelte JSON-Objekte und Arrays in Avro abgebildet?▼

Verschachtelte JSON-Objekte werden in eigene eingebettete Avro-Records mit 'name', 'type': 'record' und 'fields' umgewandelt. Arrays werden als Typ 'array' mit dem entsprechenden 'items'-Schema modelliert.

Warum wird Avro gegenüber herkömmlichem JSON in Event-Streams bevorzugt?▼

Avro überträgt kompakte Binärdaten ohne Feldnamen in jeder einzelnen Nachricht. Das Schema wird zentral in einer Schema Registry verwaltet, was Bandbreite spart und strikte Schema-Validierung ermöglicht.

Was sind logische Typen (Logical Types) in Avro?▼

Logische Typen versehen Basisdatentypen mit semantischer Bedeutung. Ist inferLogicalTypes aktiviert, werden Datumsangaben zu 'long' mit 'timestamp-millis' und UUIDs zu 'string' mit 'uuid' typisiert.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →
Entwicklerhandbuch: GraphQL SDL zu Zod-Validierungsschema-GeneratorEntwickler

Konvertieren Sie GraphQL-SDL-Typen, Queries und Inputs präzise in Laufzeit-Zod-Validierungsschemata (z.object, z.string, z.array) inklusive Nullability-Mapping.

Werkzeug öffnen→
GraphQL SDL zu TypeScript Typen & Interfaces KonverterEntwickler

Konvertieren Sie GraphQL Schema Definition Language (SDL) Typen, Inputs und Enums direkt im Browser in saubere, abhängigkeitsfreie TypeScript-Interfaces.

Werkzeug öffnen→
K8S Configmap Secret Generator Entwickler-ReferenzEntwickler

Generieren Sie produktionsreife Kubernetes ConfigMap- und Secret- (Opaque, TLS, docker-registry) YAML-Manifeste mit Base64-Kodierung und Unveränderlichkeit.

Werkzeug öffnen→
Kubernetes HorizontalPodAutoscaler (HPA v2) GeneratorEntwickler

Erstellen Sie autoskalierende HPA v2 YAML-Manifeste mit CPU- und Speicher-Zielauslastung, benutzerdefinierten Metriken und Stabilisierungsrichtlinien für Scale-Up und Scale-Down.

Werkzeug öffnen→
Redis (redis.conf) Konfigurations-Builder & Performance-TunerEntwickler

Erstellen Sie produktionsreife redis.conf-Konfigurationen mit optimierten maxmemory-Richtlinien, RDB/AOF-Persistenz, Netzwerkbindung und robuster ACL-Sicherheit.

Werkzeug öffnen→
PostgreSQL (postgresql.conf) Hardware-Tuning & Builder Entwickler-HandbuchEntwickler

Berechnen und generieren Sie optimierte postgresql.conf-Einstellungen basierend auf Hardwarespezifikationen (shared_buffers, work_mem, effective_cache_size, max_connections).

Werkzeug öffnen→