什么是 Avro 模式中映射的 AsyncAPI yaml 等效表示



尝试将 AsyncAPI 中支持的数据类型映射到 Avro Schema 中可用的数据类型。 我们在 Avro 模式中有一个可用的数据类型,即 地图 ,试图找到一种在异步 API Yaml 中表示它的方法。任何人都可以提供建议吗?

AsyncAPI 中没有直接等效于 Avro 映射,但您可以使用additionalProperties验证关键字将映射编码为object

type: object
additionalProperties:
type: integer

可能对应于阿夫罗map<int>.

对于复杂类型,可以定义架构来表示复杂类型,并在additionalProperties中使用$ref而不是type

如上所述,对于复杂类型,您可以使用 extraalProperties: true

我将进一步详细说明

如您所见,"json"可能是动态的,我们不知道它的实际形状,因此我们可以将其用作以下示例

地图

type: object
additionalProperties: true

map>

type: object   
additionalProperties:
type: object
additionalProperties: true

还有这个附加属性:true 是相同的 附加属性: { } ,如果你愿意,你也可以使用它,用于 附加属性为假,您可以使用附加属性:不 : {}

但是如果你知道 JSON 的确切形状,你可以像这样使用它:

mapoffset={"x":{"id":"sss"}}

type: object
additionalProperties:
type:object
properties:
id:
type: string

所以在这里只允许 id 字段

相关内容

  • 没有找到相关文章

最新更新