0

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 関数をトリガーせず、すべてのキュー メッセージはポイズン キューに移動されるため、上記のメソッド シグネチャのメッセージパラメーターにはどのデータ型を使用する必要がありますか。

ここで何が欠けていますか?

これについてのあなたの考えに感謝します。

前もって感謝します!

4

1 に答える 1