Azure Web ジョブ キューが Web ジョブをトリガーしていません メッセージをバイナリ形式でキューに渡すとどうなりますか?
GOOGLE PROTOBUF BytesをCloudMessage として Azure Queue Storage にプッシュしました。しかし、Azure キュー ストレージは ping を実行せず、代わりにその CloudMessage を Azure 継続的に実行されている Web ジョブに渡します。これらのメッセージはポイズン キューに移動していますか?
次のコードは、キュー メッセージをプールするための Web ジョブです。
プログラムファイル:
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 Queue に追加するためのコード:
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 関数をトリガーせず、すべてのキュー メッセージはポイズン キューに移動されるため、上記のメソッド シグネチャのメッセージパラメーターにはどのデータ型を使用する必要がありますか。
ここで何が欠けていますか?
これについてのあなたの考えに感謝します。
前もって感謝します!