Azure WebJobキューがWebJobを起動していない場合メッセージをバイナリ形式でキューに渡すと、Azure WebJobキューがWebJobを起動していない
私はAzureキューストレージにCloudMessageとしてGOOGLE PROTOBUFバイトをプッシュしました。しかし、Azure Queueのストレージはpingされておらず、そのCloudMessageをAzureに渡します。その代わりにWebJobを実行しています。これらのメッセージはPoison Queuesに移動していますか?
次のコードは、キューメッセージをプールするWebJobです。
プログラムファイル:
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のクラウドで実行して/公開されている私ののWebジョブをトリガする必要があります。
以下のメソッドシグネチャについては疑問があります。
public static void ProcessMessageQueue([QueueTrigger("messagequeue")] string message)
メッセージが正常にキューストレージに追加されますが、キューは、Azureの機能を起動しないと、すべてのキュー・メッセージは、キューを毒に移動されているので、私は上記のメソッドのシグネチャでメッセージパラメータに使用する必要がありますどのようなデータ型。
私はここで何が欠けていますか?
これについてのご意見をお待ちしています。
ありがとうございました!