Azure / Azure/azure-functions-java-worker

ServiceBus support with partition and duplicate detection

未关闭
#337 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area:java-functions New Feature
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。