Logic app队列连接器中的完整消息

时间:2018-01-16 10:02:55

标签: azureservicebus azure-logic-apps

嗨有人可以向我解释一下这个连接器中的会话ID 是用来做什么的。还有为什么它是可选的。

据我了解,这用于关闭与sessionID相关的消息?

还是关闭整个会话? ID它会关闭服务总线队列中所有相关消息的会话吗?

enter image description here

问候/约翰

1 个答案:

答案 0 :(得分:1)

会话ID的目的是维护队列中消息之间的排序。

假设有多个服务同时从哈利波特书中转储文本,服务发送的序列字将在队列中交错。此外,只要其中一个服务完成阅读一本书,它就会继续启动下一本书,而这本书并未被任何其他服务阅读。您如何识别给定消息来自给定的书籍。

此处会话ID开始起作用,一旦服务开始读取某本书,它将决定一个新的唯一会话ID,并将其分配给它读取它的每个单词(即它发送给队列的消息)从那本书。这样,当您的客户端读取队列中的消息时,它可以获取一个特定的会话ID值并继续阅读带有该会话ID的消息。这样,即使队列中的文字都是从不同的书中混淆,你的客户也不会混淆书籍,并且会保留阅读单词的顺序。

此外,正在读取具有特定会话ID的消息的客户端将锁定具有该会话ID的所有到达的消息(以及将来到达的消息)。因此,其他客户不会阅读这些消息。也就是说,您可以让多个客户端并行运行,从不同的书籍中读取文本而不会混淆。

锁定令牌是用于完成邮件的值。

阅读本文以获取更多信息:Message sessions: first in, first out (FIFO)