Очередь сообщений чтения служебной шины Azure

Я довольно новичок в Azure, но изо всех сил пытаюсь придумать или найти способ читать сообщения в моей очереди. У меня есть следующее:

  • Облачный сервис
  • Аккаунт хранения
  • Очереди

То, с чем я сейчас борюсь, это то, что я вижу через симпатичный график, который Portal дает мне сообщениям, но я хотел бы видеть их содержимое, и, по крайней мере, это невозможно сделать через Portal.

Поэтому я начал взламывать код, чтобы получить эти сообщения, но это тоже не работает.

    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.

1 ответ

Вот простой пример извлечения сообщений из очереди. Сначала вам нужно создать CloudStorageAccount, чтобы ссылаться на конкретное хранилище. Во-вторых, вы создаете новый CloudQueueClient, чтобы подключиться к своему CloudStorageAccount. Получив 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);
        }
Другие вопросы по тегам