Я пытаюсь отправить сообщение в тему, созданную с установленными флажками Включить обнаружение дубликатов и Включить разбиение на разделы. Я не устанавливаю свойства SessionId
и PartitionKey
в моем BrokeredMessage
экземпляре. Согласно это:
Если для очереди или раздела для свойства QueueDescription.RequiresDuplicateDetection установлено значение true, а свойства BrokeredMessage.SessionId или BrokeredMessage.PartitionKey не заданы, то свойство BrokeredMessage.MessageId служит ключом раздела.
После того, как я создаю экземпляр BrokeredMessage
, его свойство MessageId
инициализируется автоматически, поэтому я ожидаю, что разделение будет работать. Но это не так:
Microsoft.Azure.WebJobs.Host.FunctionInvocationException: Исключение при выполнении функции: Functions.ProcessQueueMessage2Async ---> System.InvalidOperationException: SessionId необходимо установить для всех сообщений через посредника в разделенную тему, которая поддерживает порядок, имя темы = dev1-mtapp: Тема: ответ-тема ~ 255. TrackingId: 5fbe5df2-8747-4053-ba79-c29a80e9d1ed_G25_B31, SystemTracker: dev1-mtapp: topic: response-topic ~ 255
Где я не прав?