Azure WebJob SDK 服务总线文档?
Posted
技术标签:
【中文标题】Azure WebJob SDK 服务总线文档?【英文标题】:Azure WebJob SDK Service Bus Documentation? 【发布时间】:2014-12-21 15:40:47 【问题描述】:我正在尝试使用 Azure WebJob SDK,但找不到任何关于它的文档,因此我可以知道会发生什么,而无需通过测试来查看它。
我确实找到了这个:http://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/,但它更多的是教程而不是文档。他们向我介绍了 SDK 的非常基本的用法,但没有详细介绍非快乐路径的情况。
我还发现 https://github.com/Azure/azure-webjobs-sdk-samples 有一些不愉快的路径,但那里关于 Service Bus 的信息很少。
在没有强大的文档的情况下,如果源代码可用(通过反射除外)会很好。然后我可以挖掘一点,找到我的问题的答案。目前,我发现回答任何问题的唯一方法是编写一些测试,但这很快就会变得乏味。
我无法在上述链接中找到答案的一些问题示例(尽管我可能错过了):
如果我有一个带有[ServiceBusTrigger("my-queue")] String
的方法
参数,是 PeekLock 还是 ReceiveAndDelete?
[ServiceBusTrigger("my-queue")] BrokeredMessage
呢?
如果是 PeekLock,成功执行后会发生什么(没有 例外)的功能?它是否在消息上调用 Complete 或 我需要手动调用吗?
如果我有 [ServiceBusTrigger("my-queue")]
BrokeredMessage
而不是 [ServiceBusTrigger("my-queue")]
String
,行为会改变吗?
如果我的处理方法抛出异常会怎样?可以 在消息上调用 Abandon?
如果我的处理函数花费的时间超过 PeekLock 超时时间,是 锁会自动更新还是我必须手动更新?
是否有任何其他自动反序列化可以用于 除了 String 和 BrokeredMessage 之外的 ServiceBusTriggers?
是否可以将反序列化器连接到我的 ServiceBusTrigger 范围?例如,如果我的消息是 protobuf 格式的,我可以 向 WebJob SDK 传授有关它的知识,以便它可以为我反序列化,或者我做 必须将其作为 BrokeredMessage 接收并手动反序列化?
【问题讨论】:
【参考方案1】:请在此处找到您的问题的答案。
-
SDK 执行 PeekLock
您将收到 BrokeredMessage
它将自动完成
SDK 将为您提供 BrokeredMessage 与字符串,但自动完成是相同的
呼叫放弃
我们实际上调用了 OnMessageAsync,它会自动处理更新 PeekLock 超时。 (如果这不起作用,那么我认为这将是一个错误)
是的,您可以使用任何 POCO,我们将进行 JSON 序列化/反序列化。我们还支持 byte[]。
我们将为您处理字符串、字节 [] 和 POCO/JSON(以及 BrokeredMessage)。对于其他任何事情,您都需要使用其他格式之一(如 string 或 byte[] 或 BrokeredMessage)并从那里自行处理。
【讨论】:
对于我的问题,What about [ServiceBusTrigger("my-queue")] BrokeredMessage?
我的意思是它是 PeekLock 还是 ReceiveAndDelete。根据您之前的回答,我相信答案是 PeekLock。如果不是,请更新您的答案。
这回答了我在 10 月份提出的所有问题,是否有我从那时起提出的问题的文档以及将来会提出的问题,或者是权威的真相来源*** 是如何工作的?以上是关于Azure WebJob SDK 服务总线文档?的主要内容,如果未能解决你的问题,请参考以下文章