javascript - 为事件中心输出绑定(bind)设置 partitionKey

标签 javascript azure-functions azure-eventhub azure-function-app

我有一个 javascript 函数应用程序,它定义了指向事件中心的输出绑定(bind),如 here 所述.我一次(批量)发送多条消息以确保最佳性能:

var message1 = //create javascript object here
var message2 = //create javascript object here
(...)

context.bindings.outputEventHubMessage = [];
context.bindings.outputEventHubMessage.push(message1);
context.bindings.outputEventHubMessage.push(message2);
(...)

context.done();

这可行,但我想在消息级别设置分区键,以确保具有相同分区键的消息最终在同一个 EH 分区中。我试过以下:
message1.partitionKey = "ABC";
message2.partitionKey = "ABC";

...但它不起作用 - 对于大量消息,我注意到具有相同分区键的消息具有不同的分区 ID。

批量发送时是否可行?如果不是,那么在发送 1-by-1 时会起作用吗?

最佳答案

基于 this discussion ,现在绑定(bind)的工作方式似乎是不可能的。虽然讨论是关于 C#,但同样适用于其他语言。

考虑到事件中心 SDK 中的变化,至少对于 C#,通过直接绑定(bind)到 EventHubClient 似乎有 an option。但这对于其他语言是不可能的。

解决方法是直接使用 Azure Event Hubs NodeJS SDK 而不是使用绑定(bind)。

关于javascript - 为事件中心输出绑定(bind)设置 partitionKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60642682/

相关文章:

javascript - 如何使用本地存储来维护下拉菜单状态?

javascript - Pymongo .eval() 与 Mongo shell --eval

javascript - 错误 : connect ENFILE 127. 0.0.1:5984 - 本地(未定义:未定义)

azure - 将 SSL 证书绑定(bind)到 Azure 托管 API 中的特定端点

messaging - Azure 事件中心如何处理不同的事件?

javascript - 基于 ngRoute 和 ReSTLike API 创建动态 View

Azure Function 2.x - 获取当前用户的声明

c# - 如何使用或模拟 IWebJobsBuilder 对我的 Azure Function v2 进行集成测试?

python - Eventhub读取数据作为python中的列表