Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

api / api avro recursive reader resolution

An agent that changes an Avro artifact consumer needs its claimed writer-to-reader structural resolution checked through recursive record references, defaults, aliases, promotions and ordered union branches.

POST https://detect.halowerk.com/v1/api/api-avro-recursive-reader-resolution

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "artifact": {
      "type": "object",
      "properties": {
        "writer": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "null",
                  "boolean",
                  "int",
                  "long",
                  "float",
                  "double",
                  "bytes",
                  "string",
                  "record",
                  "enum",
                  "fixed",
                  "array",
                  "map",
                  "union"
                ],
                "minLength": 1,
                "maxLength": 64
              },
              "name": {
                "type": "integer",
                "minimum": 0,
                "maximum": 63
              },
              "aliases": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 63
                },
                "minItems": 0,
                "maxItems": 16
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "field": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 63
                    },
                    "aliases": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 63
                      },
                      "minItems": 0,
                      "maxItems": 16
                    },
                    "type": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 31
                    },
                    "has_default": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "field",
                    "aliases",
                    "type",
                    "has_default"
                  ],
                  "additionalProperties": false
                },
                "minItems": 0,
                "maxItems": 16
              },
              "symbols": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 63
                },
                "minItems": 0,
                "maxItems": 64
              },
              "has_default": {
                "type": "boolean"
              },
              "default_symbol": {
                "type": "integer",
                "minimum": 0,
                "maximum": 63
              },
              "size": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1000000
              },
              "child": {
                "type": "integer",
                "minimum": 0,
                "maximum": 31
              },
              "branches": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 31
                },
                "minItems": 0,
                "maxItems": 16
              }
            },
            "required": [
              "kind",
              "name",
              "aliases",
              "fields",
              "symbols",
              "has_default",
              "default_symbol",
              "size",
              "child",
              "branches"
            ],
            "additionalProperties": false
          },
          "minItems": 1,
          "maxItems": 32
        },
        "reader": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "null",
                  "boolean",
                  "int",
                  "long",
                  "float",
                  "double",
                  "bytes",
                  "string",
                  "record",
                  "enum",
                  "fixed",
                  "array",
                  "map",
                  "union"
                ],
                "minLength": 1,
                "maxLength": 64
              },
              "name": {
                "type": "integer",
                "minimum": 0,
                "maximum": 63
              },
              "aliases": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 63
                },
                "minItems": 0,
                "maxItems": 16
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "field": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 63
                    },
                    "aliases": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 63
                      },
                      "minItems": 0,
                      "maxItems": 16
                    },
                    "type": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 31
                    },
                    "has_default": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "field",
                    "aliases",
                    "type",
                    "has_default"
                  ],
                  "additionalProperties": false
                },
                "minItems": 0,
                "maxItems": 16
              },
              "symbols": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 63
                },
                "minItems": 0,
                "maxItems": 64
              },
              "has_default": {
                "type": "boolean"
              },
              "default_symbol": {
                "type": "integer",
                "minimum": 0,
                "maximum": 63
              },
              "size": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1000000
              },
              "child": {
                "type": "integer",
                "minimum": 0,
                "maximum": 31
              },
              "branches": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 31
                },
                "minItems": 0,
                "maxItems": 16
              }
            },
            "required": [
              "kind",
              "name",
              "aliases",
              "fields",
              "symbols",
              "has_default",
              "default_symbol",
              "size",
              "child",
              "branches"
            ],
            "additionalProperties": false
          },
          "minItems": 1,
          "maxItems": 32
        },
        "writer_root": {
          "type": "integer",
          "minimum": 0,
          "maximum": 31
        },
        "reader_root": {
          "type": "integer",
          "minimum": 0,
          "maximum": 31
        },
        "claimed_resolves": {
          "type": "boolean"
        }
      },
      "required": [
        "writer",
        "reader",
        "writer_root",
        "reader_root",
        "claimed_resolves"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "artifact"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "artifact": {
    "writer": [
      {
        "kind": "null",
        "name": 0,
        "aliases": [],
        "fields": [],
        "symbols": [],
        "has_default": false,
        "default_symbol": 0,
        "size": 0,
        "child": 0,
        "branches": []
      }
    ],
    "reader": [
      {
        "kind": "null",
        "name": 0,
        "aliases": [],
        "fields": [],
        "symbols": [],
        "has_default": false,
        "default_symbol": 0,
        "size": 0,
        "child": 0,
        "branches": []
      }
    ],
    "writer_root": 0,
    "reader_root": 0,
    "claimed_resolves": true
  }
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →