2014-10-26 3 views
5

Я пытаюсь использовать Azure WebJob SDK, но не могу найти никакой документации по нему, чтобы я мог знать, чего ожидать, не имея необходимости выставлять на него тесты.Azure WebJob SDK Service Bus Документация?

Я нашел это: http://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/, но это больше учебников, а не документации. Они проводят меня через самые основные применения SDK, но они не вникают в какие-либо подробности о ситуациях без счастливого пути.

Я также нашел https://github.com/Azure/azure-webjobs-sdk-samples, у которого есть некоторые неудобные пути, но там очень мало информации об Service Bus.

В отсутствие прочной документации было бы неплохо, если бы исходный код был доступен (кроме как через отражение). Тогда я мог бы немного поработать и найти ответы на мои вопросы. На данный момент единственный способ найти ответ на любой вопрос - написать несколько тестов, но это быстро становится утомительным.

Некоторые примеры вопросов, которые я не был в состоянии найти ответ в вышеприведенных ссылок (хотя я, возможно, пропустили его):

  1. Если у меня есть метод с [ServiceBusTrigger("my-queue")] String параметр, это PeekLock или ReceiveAndDelete?

  2. Что относительно [ServiceBusTrigger("my-queue")] BrokeredMessage?

  3. Если это PeekLock, что происходит при успешном выполнении (нет исключения ) функции? Вызывается ли это «Завершить» в сообщении или мне нужно позвонить так вручную?

  4. Изменяется ли поведение, если у меня есть [ServiceBusTrigger("my-queue")] BrokeredMessage вместо [ServiceBusTrigger("my-queue")] String?

  5. Что произойдет, если мой метод обработки выдаст исключение? call Abandon в сообщении?

  6. Если моя функция обработки занимает больше времени ожидания PeekLock, то замок автоматически обновляется или мне нужно сделать это вручную?

  7. Есть ли другие автоматические десериализации, которые я могу использовать для ServiceBusTriggers, кроме String и BrokeredMessage?

  8. Можно ли подключить десериализатор к моему параметру ServiceBusTrigger ? Например, если мои сообщения находятся в формате protobuf, могу ли я обучить SDK WebJob, чтобы он мог десериализоваться для меня, или я должен получить его как BrokeredMessage и вручную десериализовать?

ответ

5

Пожалуйста, найдите ответы на ваши вопросы.

  1. В SDK делает PeekLock
  2. Вы получите BrokeredMessage
  3. Это будет автозаполнение
  4. В SDK даст вам BrokeredMessage vs.строка, но автозаполнение одинаково
  5. Call Abandon
  6. Фактически мы вызываем OnMessageAsync, который будет обрабатывать автоматическое обновление таймаута PeekLock. (Если это не сработает, я думаю, что это будет ошибка)
  7. Да, вы можете использовать любой POCO, и мы будем сериализовать/десериализовать JSON. Мы также поддерживаем байт [].
  8. Мы будем обрабатывать строки, байт [] и POCO/JSON для вас (а также BrokeredMessage). Для чего-то еще вам нужно использовать один из других форматов (например, string или byte [] или BrokeredMessage) и обрабатывать его самостоятельно.
+0

На мой вопрос: «Как насчет [ServiceBusTrigger (« my-queue »)] BrokeredMessage?« Я имел в виду, что это PeekLock или ReceiveAndDelete. Основываясь на ваших предыдущих ответах, я считаю, что ответ PeekLock. Если нет, пожалуйста, обновите свой ответ. –

+4

Это отвечает на все вопросы, которые у меня были в октябре, есть документация по тем вопросам, которые я придумал с тех пор и буду в будущем, или является авторитетным источником правды о том, как она работает StackOverflow? –