如何 post 带有元数据的事件通过 HTTP API 流式传输

How to post event with metadata to stream through HTTP API

我正在使用 EventStore 并想 post 向它发送消息(事件)。我使用 HTTP API 进行测试。我已经设法 post 事件本身,并指定了事件类型,但我不知道如何为我的事件指定元数据。 (而且我必须提供此元数据,因为另一端的我的消费应用程序需要它)。

这是我的 HTTP 请求的样子:

Content-Type: application/json ES-EventType: My.own.event.type POST http://10.0.75.2:2113/web/index.html#/streams/foobar { "props": "andvalues" }

我是否在 body 到 headers 中指定元数据?我找不到很多关于这个的文档,只有 official 没有提到它。

文档提到了正在编写的事件的完整架构。它看起来像这样:

[
    {
      "eventId"    : "string",
      "eventType"  : "string",
      "data"       : "object",
      "metadata"   : "object"
    }
]

例如:

[
  {
    "eventId": "fbf4a1a1-b4a3-4dfe-a01f-ec52c34e16e4",
    "eventType": "event-type",
    "data": { "a": "1" },
    "metadata": { "b": "2" }
  }
]

请注意,它是一个数组,您必须将内容类型作为 application/vnd.eventstore.events+json

选中 this page,滚动到事件存储事件媒体类型。