Azure / Azure/azure-functions-java-worker

ServiceBus support with partition and duplicate detection

オープン
#337 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
area:java-functions New Feature
主要言語
Java
スター
103
フォーク
74
平均マージ
4日 8時間
マージ済み PR(30日)
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 を短くまとめたダイジェスト。