Azure WebJob SDK服务总线文档?

时间:2014-10-26 07:59:42

标签: azure azure-webjobs azure-webjobssdk

我正在尝试使用Azure WebJob SDK,但无法在其上找到任何文档,因此我可以知道会发生什么,而不必通过测试来解决它。

我确实找到了这个:http://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/但它更多的是教程而不是文档。他们向我介绍了SDK的基本用法,但他们没有详细介绍非欢乐路径的情况。

我还发现https://github.com/Azure/azure-webjobs-sdk-samples有一些不快乐的路径,但那里的服务总线信息非常少。

如果没有强大的文档,如果源代码可用(除了通过反射),那将是很好的。然后我可以挖一点,找到我的问题的答案。目前,我发现回答任何问题的唯一方法是编写一些测试但很快就会变得单调乏味。

我在上述链接中找不到答案的一些问题示例(虽然我可能已经错过了):

  1. 如果我的方法有[ServiceBusTrigger("my-queue")] String 参数,它是PeekLock还是ReceiveAndDelete?

  2. [ServiceBusTrigger("my-queue")] BrokeredMessage

  3. 怎么样?
  4. 如果是PeekLock,成功执行会发生什么(没有 异常)的功能?它是否在消息上调用完成或 我需要手动拨打电话吗?

  5. 如果我有[ServiceBusTrigger("my-queue")] BrokeredMessage而不是[ServiceBusTrigger("my-queue")] String,行为会改变吗?

  6. 如果我的处理方法抛出异常会怎样?可以 在邮件上打电话给Abandon?

  7. 如果我的处理函数花费的时间超过PeekLock超时,则为 锁自动更新还是我必须手动更新?

  8. 我可以使用其他任何自动反序列化吗? 除String和BrokeredMessage之外的ServiceBusTriggers?

  9. 是否可以将反序列化器连接到ServiceBusTrigger 参数?例如,如果我的消息是protobuf格式,我可以 教它WebJob SDK,以便它可以为我或我做反序列化 必须以BrokeredMessage的形式接收它并手动反序列化?

1 个答案:

答案 0 :(得分:6)

请在此处找到答案。

  1. SDK执行PeekLock
  2. 您将获得BrokeredMessage
  3. 会自动完成
  4. SDK会为您提供BrokeredMessage与字符串,但自动完成是相同的
  5. 致电放弃
  6. 我们实际上调用OnMessageAsync,它将自动处理PeekLock超时。 (如果那不起作用,那么我认为这将是一个错误)
  7. 是的,您可以使用任何POCO,我们将进行JSON序列化/反序列化。我们也支持byte []。
  8. 我们将为您处理string,byte []和POCO / JSON(以及BrokeredMessage)。对于其他任何事情,您需要使用其他格式之一(如string或byte []或BrokeredMessage)并自己处理它。