标签: avsc

如何在另一个 avro 架构中引用一个 avro 架构

我需要从另一个模式内部引用这个学生模式:

{
  "type": "record",
  "namespace": "data.add",
  "name": "Student",
  "fields": [
    {
      "name": "Name",
      "type": "string"
    },
    {
      "name": "Age",
      "type": "int"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是需要引用Student 的地址架构:

{
  "type": "record",
  "namespace": "data.add",
  "name": "Address",
  "fields": [
    {
      "name": "student",
      "type": "Student"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

当我使用 Gradle 和 Avro 插件构建时,上面的内容会引发错误。两个架构都位于同一文件夹中。

avro avsc

8
推荐指数
1
解决办法
1万
查看次数

如何使用 avrogen (C#) 从包含引用的 avsc 编译 avro 架构?

我有这两个 avsc 文件,第一个文件引用了第二个文件,但是当尝试使用 avrogen 进行编译时,会返回错误并且不会生成架构。

错误:

Exception occurred. Undefined name: AnalogProperty at 'fields[0].type.items.fields[2].type.fields[0].type'
Run Code Online (Sandbox Code Playgroud)

AVSC 1

"doc": "Measurement Type, Analog or Discrete",
"name": "AnalogProperties",
"type": {
   "fields": [
     {
       "doc": "",
       "name": "RealPower",
       "type": "AnalogProperty"
     }
}
Run Code Online (Sandbox Code Playgroud)

AVSC 2

{
    "name": "AnalogProperty",
    "namespace": "Kafka.AvroSchemas",
    "doc": "AnalogProperty object",
    "type": "record",
    "fields": [{
            "doc": "Circuit from requested topology.",
            "name": "cValue",
            "type": "double"
        },
        {
            "doc": "Circuit from requested topology.",
            "name": "cTimestamp",
            "type": "string"
        },
    ]
}
Run Code Online (Sandbox Code Playgroud)

c# avro avsc

6
推荐指数
0
解决办法
518
查看次数

vscode json 格式化程序:不包装 json 对象

我现在正在使用 avro .avsc 模式,我喜欢在示例中进行格式化:

{
 "namespace": "example.avro",
 "type": "record",
 "name": "User",
 "fields": [
     {"name": "name", "type": "string"},
     {"name": "favorite_number",  "type": ["int", "null"]},
     {"name": "favorite_color", "type": ["string", "null"]}
 ]
}
Run Code Online (Sandbox Code Playgroud)

我特指的是单行字段定义{"name": "name", "type": "string"}

我想在 vscode 中编辑和格式化我的架构,但它不断包装字段,例如

 {
   "name": "name",
   "type": "string"
 }
Run Code Online (Sandbox Code Playgroud)

我尝试配置默认的 json 格式化程序并使用beautify扩展名setting.json,但没有成功

   "[json]": {
        "editor.tabSize": 2,
        "editor.wordWrap": "off",
        "editor.defaultFormatter": "vscode.json-language-features",
        // "editor.defaultFormatter": "HookyQR.beautify"
    },
    "html.format.wrapAttributes": "preserve",

    "beautify.config": {
        "indent_size": 2,
        "indent_char": " ",
        "preserve_newlines": true,
        "space_in_paren": true,
        "space_in_empty_paren": true,
        "wrap_attributes": "preserve", …
Run Code Online (Sandbox Code Playgroud)

formatting json visual-studio-code avsc

5
推荐指数
1
解决办法
2873
查看次数

标签 统计

avsc ×3

avro ×2

c# ×1

formatting ×1

json ×1

visual-studio-code ×1