Я хочу использовать функции Azure для вызова конечных точек REST на основе сообщений очереди. Документация говорит мне...
Среда выполнения функций получает сообщение в режиме PeekLock и вызывает Complete для сообщения, если функция завершается успешно, или вызывает Abandon, если функция завершается со сбоем.
Следовательно, я пытаюсь вывести функцию из строя, создав исключение для хоста, чтобы отказаться от сообщения, когда вызов REST терпит неудачу.
using System;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;
public static void Run(BrokeredMessage message, TraceWriter log)
{
string body = message.GetBody<string>();
using (var client = new HttpClient())
{
var content = new StringContent(body, Encoding.UTF8, "application/json");
var response = client.PutAsync("http://some-rest-endpoint.url/api", content).Result;
if (!response.IsSuccessStatusCode)
{
throw new Exception("Message could not be sent");
}
}
}
Кто-нибудь знает лучший способ изящно отказаться от функции?
message.Abandon()
вручную. - person Nkosi   schedule 09.10.2016