1

私は Azure にかなり慣れていませんが、キュー内のメッセージを読み取る方法を考案したり見つけたりするのに苦労しています。私は次のものを持っています:

  • クラウド サービス
  • ストレージ アカウント
  • キュー

私が今苦労しているのは、きれいなグラフ ポータルを介してメッセージが受信されていることを確認できますが、メッセージの内容を確認したいのですが、少なくともポータルを介してこれを行うことは不可能に思えます。

そのため、これらのメッセージを取得するためにいくつかのコードを手作業で解読し始めましたが、これも機能しません。

    var credentials = new StorageCredentials("account", "key");
    var storageAccount = new CloudStorageAccount(credentials, true);
    var queue = storageAccount.CreateCloudQueueClient();
    var messages = queue.GetQueueReference("orders").GetMessages(100, TimeSpan.FromHours(10), null, null);

わからないことは、キューをストレージに関連付ける必要があるかどうかです。

乾杯、DS。

4

1 に答える 1

0

キューからメッセージを取得する簡単な例を次に示します。最初に、特定のストレージを参照するために CloudStorageAccount を作成する必要があります。次に、CloudStorageAccount に接続するために、新しい CloudQueueClient を作成します。CloudQueueClient を取得したら、キューを参照して作成できます。

        // Your Storage credentials
        var credentials = new StorageCredentials("account", "key");


        var storageAccount = new CloudStorageAccount(credentials, true);

        // Create a new client
        CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

        // Retrieve a reference to a queue
        CloudQueue queue = queueClient.GetQueueReference("myqueue");

        // Create the queue if it doesn't already exist
        queue.CreateIfNotExists();

        // Send 10 messages to the queue
        for (int i = 0; i < 10; i++)
        {
            // Create a message and add it to the queue.
            CloudQueueMessage message = new CloudQueueMessage(string.Format("Hello, World {0}", i));
            queue.AddMessage(message);
        }

        // Read next 20 messages
        foreach (CloudQueueMessage message in queue.GetMessages(20, TimeSpan.FromMinutes(5)))
        {
            // Reading content from message
            Console.WriteLine(message.AsString);

            // Process all messages in less than 5 minutes, deleting each message after processing.
            queue.DeleteMessage(message);
        }
于 2015-02-20T14:50:24.430 に答える