Azure / Azure/azure-functions-java-worker
ServiceBus support with partition and duplicate detection
- 主要语言
- Java
- 星标
- 103
- 派生
- 74
- 平均合并
- 4 天 8 小时
- 30 天内合并 PR
- 2
描述
We try to send messages to ServiceBus using functions binding. Bellow Code worked without partitions. But we are facing issues with partition and duplicate detection.
@ServiceBusQueueOutput
@ServiceBusTopicOutput
Sample code to reproduce this issue
```
@FunctionName("QueueTrigger")
public void run(
@ServiceBusQueueTrigger(name = "inMessage", queueName = "%sbInputQueue%", connection = "sbconnection") Message inMessage,
@ServiceBusTopicOutput(name = "topicMessage", topicName = "fx-demo-topic", subscriptionName = "fx-demo-subscription", connection = "sbconnection") OutputBinding topicMessage,
final ExecutionContext context) {
context.getLogger().info("Queue Msg Received " + inMessage.toString());
topicMessage.setValue(inMessage);
context.getLogger().info("Java Service Bus Listing Queue trigger executed.");
}
}
```
Error message :
System.Private.CoreLib: Exception while executing function: Functions.QueueTrigger. Microsoft.Azure.ServiceBus: Message to a partitioned entity with duplicate detection enabled must have either PartitionKey or MessageId
贡献指南
调研方向
从复现的 QueueTrigger 函数中的 @ServiceBusTopicOutput 绑定以及报告的 Service Bus 异常开始。跟踪 Java worker 如何为启用重复检测的分区实体创建传出 Message。完成的标准是,所提供的复现不再失败,同时保留预期的分区和重复检测行为。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- azure, java
- 领域
- backend, distributed-systems
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100