有没有办法使用 Java 中的 Azure Functions 将带有 header 数据的事件输出到 Azure 事件中心?

Is there a way to output events with header data to Azure Event Hubs using Azure Functions in Java?

询问如何将事件 header 数据获取到函数中,接受的答案说有办法。

另一边怎么样 - 是否可以使用 header 数据输出事件?在文档中,我只找到了如何在 C# 中执行此操作。

我不知道有什么方法可以对输出绑定执行此操作;据我所知,那些只支持原生 Java 类型或 POJO。 (ref)

但是,可以直接在函数主体中使用 Java SDK,这样您就可以直接控制要发布的 EventData 实例的形成 - 包括 Properties 集合和其他元数据。

关于复制数据,如果您希望确保拥有精确的副本(代理拥有的元数据除外)- 您将希望发布到您已读取的确切分区从。 (见下方示例)

确保分区键可以通过几种不同的方式完成,具体取决于事件中心副本的配置。对于简单的方法,仅使用分区键发布应该确保事件在副本上的同一分区中结束——假设分区数完全匹配。 (见下方示例)

如果您的副本有不同数量的分区,您需要直接发布到分区并操作底层 AMQP 消息,通过添加项目手动将分区键注入 Message Annotations 部分您希望它反映的分区键的键 x-opt-partition-key 和值。为此,您需要使用 EventData.getRawAmqpMessage 方法。

更多信息: