I am trying to use the Azure WebJob SDK but am unable to find any documentation on it so I can know what to expect without having to poke at it with tests.
I did find this: http://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/ but it is more tutorials rather than documentation. They walk me through the very basic usages of the SDK but they don't go into any detail about the non happy-path situations.
I also found https://github.com/Azure/azure-webjobs-sdk-samples which has some non-happy paths but there is very little information about Service Bus there.
In the absence of strong documentation, it would be nice if the source code was available (other than through reflection). Then I could dig a little and find the answers to my questions. At the moment, the only way I have found to answer any question is to write some tests but that quickly becomes tedious.
Some examples of questions that I haven't been able to find the answer for in the above links (though I may have missed it):
If I have a method with a [ServiceBusTrigger("my-queue")] String
parameter, does it PeekLock or ReceiveAndDelete?
What about [ServiceBusTrigger("my-queue")] BrokeredMessage
?
If it is PeekLock, what happens on successful execution (no exception) of the function? Does it call Complete on the message or do I need to call that manually?
Does the behavior change if I have a [ServiceBusTrigger("my-queue")]
BrokeredMessage
instead of a [ServiceBusTrigger("my-queue")]
String
?
What happens if my processing method throws an exception? Does it call Abandon on the message?
If my processing function takes longer than the PeekLock timeout, is the lock automatically renewed or do I have to do that manually?
Are there any other automatic deserializations I can use for ServiceBusTriggers besides String and BrokeredMessage?
Is it possible to hook up a deserializer to my ServiceBusTrigger parameter? For example, if my messages are in protobuf format, can I teach the WebJob SDK about it so it can deserialize for me or do I have to receive it as a BrokeredMessage and manually deserialize?
The Azure WebJobs SDK is a framework that simplifies the task of writing background processing code that runs in Azure WebJobs. It includes a declarative binding and trigger system that works with Azure Storage Blobs, Queues and Tables as well as Service Bus.
Azure WebJobs are deprecated, but still in use. They are being phased out in favor of Azure Functions. Azure Functions is a more up-to-date and feature rich service which offers a greater degree of flexibility and control.
Please find the answers here for your questions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With