我正在尝试使用 Azure WebJob SDK,但找不到任何关于它的文档,所以我可以知道会发生什么,而不必通过测试来戳它。
我确实找到了这个:http ://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/但它更多的是教程而不是文档。他们向我介绍了 SDK 的非常基本的用法,但没有详细介绍非快乐路径的情况。
我还发现https://github.com/Azure/azure-webjobs-sdk-samples有一些不愉快的路径,但那里关于服务总线的信息很少。
在没有强大文档的情况下,如果源代码可用(通过反射除外)会很好。然后我可以挖掘一点,找到我的问题的答案。目前,我发现回答任何问题的唯一方法是编写一些测试,但这很快就会变得乏味。
我无法在上述链接中找到答案的一些问题示例(尽管我可能错过了):
如果我有一个带
[ServiceBusTrigger("my-queue")] String
参数的方法,它是 PeekLock 还是 ReceiveAndDelete?怎么样
[ServiceBusTrigger("my-queue")] BrokeredMessage
?如果是 PeekLock,函数成功执行(无异常)会发生什么?它是在消息上调用 Complete 还是我需要手动调用它?
如果我有 a
[ServiceBusTrigger("my-queue")] BrokeredMessage
而不是 a ,行为会改变[ServiceBusTrigger("my-queue")] String
吗?如果我的处理方法抛出异常会怎样?它会在消息上调用 Abandon 吗?
如果我的处理功能比 PeekLock 超时时间长,锁是自动更新还是我必须手动更新?
除了 String 和 BrokeredMessage 之外,我还可以对 ServiceBusTriggers 使用任何其他自动反序列化吗?
是否可以将反序列化器连接到我的 ServiceBusTrigger 参数?例如,如果我的消息是 protobuf 格式,我可以向 WebJob SDK 介绍它,以便它可以为我反序列化,还是我必须将它作为 BrokeredMessage 接收并手动反序列化?