为事件中心输出绑定设置partitionKey

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

我有一个javascript函数应用程序,该应用程序定义了指向事件中心的输出绑定,如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比1时可以使用吗?

javascript azure-functions azure-eventhub azure-function-app
1个回答
0
投票

基于this discussion,看来今天的绑定方式无法实现。尽管讨论是关于C#的,但同样适用于其他语言。

考虑到Event Hubs SDK的更改,至少对于C#,似乎直接绑定到an option会出现EventHubClient。但这对于其他语言是不可能的。

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

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