Очереди веб-заданий Azure не запускают веб-задания. Если я передаю сообщение в двоичном формате в очереди?
Я отправил байты GOOGLE PROTOBUF как CloudMessage в хранилище очередей Azure. Но хранилище очередей Azure не проверяет связь и не передает это CloudMessage в мое непрерывно работающее веб-задание Azure, вместо этого эти сообщения перемещаются в Poison Queues?
Следующий код - это мое веб-задание для объединения сообщений очереди.
Программный файл:
public class Program
{
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
public static void Main()
{
try
{
JobHost host = new JobHost();
//Following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
catch (Exception ex)
{
throw ex;
}
}
}
Function.cs
public class Function
{
//This function will get triggered/Executed when new message is written on an Azure Queue called messagequeue
public static void ProcessMessageQueue([QueueTrigger("messagequeue")] string message)
{
#region WebAPI Call
#endregion
}
}
Код для добавления байтов сообщения в очередь Azure:
private void PushPayloadBytesToAzureQueueStorage(byte[] payload)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["AzureWebJobsStorage"]);
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("messagequeue");
queue.CreateIfNotExists();
CloudQueueMessage msg = new CloudQueueMessage(payload);
queue.AddMessage(msg);
}
В моем случае я добавлю сообщение в виде байтов в очередь, а затем это хранилище очереди должно отправить сообщение и запустить мое веб-задание, которое публикуется / выполняется в облаке Azure.
У меня есть сомнения по поводу приведенной ниже подписи метода.
public static void ProcessMessageQueue([QueueTrigger("messagequeue")] string message)
Какой тип данных следует использовать для параметра message в приведенной выше сигнатуре метода, поскольку сообщения успешно добавлены в хранилище очередей, но очередь не запускает функцию Azure, и все сообщения очереди перемещаются в Poison Queue.
Что мне здесь не хватает?
Оцените ваши мысли по этому поводу.
Заранее спасибо!