如何在无法编辑消息负载的环境下通过Kafka REST输入数据

问题描述 投票:0回答:1

我想使用Azure ACR Webhook功能将图像的push和pull事件发送到Kafka。 由于成本原因,“活动中心”不可用。

Webhook 设置为抛出到 Kafka Rest 代理 URI,标题为“Content-Type: application/vnd.kafka.json.v2+json”。

当事件发生时 标题: '用户代理:AzureContainerRegistry/1.0 追踪父级:00-1318068fc8e0ca8904b19865b65d551b-d98ef2405fa798bf-01 内容类型:application/vnd.kafka.json.v2+json;字符集=utf-8 内容长度:104' 有效负载: ' { “id”:“a00c973c-a717-425d-9db6-874a6288728c”, “时间戳”:“2024-03-13T06:56:49.2277133Z”, “行动”:“平” } '

消息已发送,但响应为 '{"error_code":422,"message":"Unrecognized field: id"}'。

这似乎是因为 webhook 的有效负载格式是在没有“记录、值”键的情况下发送的,如下所示。 { "记录":[{"值": { 实际数据 }}]}

在这种消息负载格式无法编辑的环境下, 有没有匹配消息格式并发送给Kafka的解决方案,或者有没有更高效的REST方案可以接收这么简单的消息并发送给Kafka?

PLUS:如果有配置允许您使用 Azure Webhook 向 Kafka 发送消息而不使用事件中心,请告诉我。 谢谢你

rest apache-kafka content-type acr azure-webhooks
1个回答
0
投票

有一个名为 Zilla 的开源 Kafka 代理。它有一个 yaml 配置文件,您可以使用该文件来定义所需的 REST 端点,因为它仅使用 HTTP 负载作为 Kafka 消息负载。听起来您想要“onway Produce”功能。这是一个示例

© www.soinside.com 2019 - 2024. All rights reserved.