メインコンテンツにスキップ

Apache Avro スキーマ フォーマッター & バリデーター

Apache Avro スキーマ(JSON)を Avro 仕様に照らして検証します — type/fields/name の欠落、不明なタイプ、不正な名前、重複した名前付きタイプ、不正な union について、正確なフィールドパス付きの明確なメッセージを表示 — さらに 2 または 4 スペースのインデントで整形します。すべてブラウザ内で完結します。

入力

出力

整形済みスキーマ
 
役に立ちましたか?

このツールを使う他の方法

REST API

curl -X POST https://api.iotools.cloud/v1/tool/apache-avro-schema-formatter-validator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "schemaInput": "{\"type\":\"record\",\"name\":\"User\",\"fields\":[{\"name\"…",
    "indent": "2"
  }'

ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。

AIエージェントに依頼する

Use the IOTools `apache-avro-schema-formatter-validator` tool (Apache Avro Schema Formatter & Validator) on this input:

YOUR_INPUT_HERE

IOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。

埋め込みウィジェット

<iframe
  src="https://iotools.cloud/embed/apache-avro-schema-formatter-validator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Apache Avro スキーマ フォーマッター & バリデーター — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。

API/MCP 1回あたりの費用5クレジットから
クレジットが足りませんか?料金を見る

次の方法でも利用可能

ガイド

Apache Avro スキーマ — レコードのフィールドを記述する JSON ドキュメントで、Kafka のトピック、スキーマレジストリ、データシリアライゼーションパイプラインで使われます — を貼り付けると、このツールが Avro 仕様に照らしてチェックし、一貫したインデントで整形します。すべてブラウザ内で実行され、どこにもアップロードされません。

通常の JSON バリデーター とは異なり、Avro 固有の構造規則を理解します。構文的に完璧な JSON でも、Avro スキーマとしては無効な場合があります — fields 配列がない recordtype のないフィールド、Avro の命名規則に合わない enum のシンボル、同じブランチを 2 つ持つ ["null", "null"] のような union。このツールはこれらを検出し、「無効なスキーマ」という一般的なメッセージではなく、どのフィールドがなぜ間違っているのかを正確に教えてくれます。

チェック内容

  • 入力が正しい JSON であり、すべてのタイプノードが認識された形であること:8 つのプリミティブ型(nullbooleanintlongfloatdoublebytesstring)と 6 つの複合型(recordenumarraymapunionfixed)。
  • record 型は namefields 配列を宣言し、各フィールドには nametype の両方が必要です。enum は空でなく重複のない symbols 配列を宣言します。arrayitemsmapvaluesfixed は正の整数の size を宣言します。
  • 名前付き型(record/enum/fixed)が衝突せず、同じドキュメント内の別の場所で定義された名前付き型への参照 — 前方・後方どちらでも — が解決され、一致するものがなければフラグが立てられます。
  • union は JSON 配列であり、各タイプは union 内に最大 1 回しか出現できません — Avro では 2 つの string ブランチや、2 つの record ブランチが並ぶことは許されません。

使い方

  1. Avro スキーマの JSON を入力ボックスに貼り付けるか、サンプルを試すをクリックしてサンプルレコードを読み込みます。
  2. 2 スペースまたは 4 スペースのインデントを選択します。
  3. 結果行を確認します:レコード、フィールド、enum、union、fixed 型の簡単な集計付きの 有効な Avro スキーマ、または正確な問題とそのパス(例:fields[2].type)を示す 無効な Avro スキーマ
  4. 整形されたスキーマをコピーまたはダウンロードします — 有効なスキーマは Avro ツールが期待する拡張子に合わせて schema.avsc として保存されます。

編集するたびに検証と整形が自動的に実行されるため、フィールドを 1 つずつ修正しながら、結果がリアルタイムで更新されるのを確認できます。

リモートのスキーマレジストリからスキーマを解決しますか?

いいえ。Avro には $ref のようなリモート参照はありません — あるスキーマは 同じドキュメント内 で定義された別の名前付き型を(名前で、オプションの namespace 付きで)参照できます。これをこのツールが解決します。別のファイルやレジストリにしか存在しないスキーマは、取得しなければチェックできませんが、このクライアントサイドのツールは意図的に決して取得しません。

Avro スキーマにおける「union」とは何ですか?

union は、フィールドが複数のタイプのいずれかを保持できるようにするもので、単一のタイプの代わりに JSON 配列として記述します — 最も一般的なのはフィールドをオプションにする ["null", "string"] です。このツールは、最もつまずきやすいルールを適用します:union は各タイプのブランチを最大 1 つしか持てないため、["string", "string"] や同じ名前のインライン record 定義が 2 つある場合は拒否されます。

スキーマはプライベートですか?

はい。解析、検証、整形はすべてデバイス上の純粋な JavaScript で行われます — ブラウザのタブ内で、またはプログラムから呼び出す場合は API/Node ランタイムで。何も送信・記録・保存されません。

avroschemavalidatorformatterjsonkafkadata-serializationdeveloper

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。