Esempio n. 1
0
        public async Task DeQueueMessageAsync(BaseCommandData commandData)
        {
            var storageAccount = StorageAccountFactory.Get(commandData);

            // Create the queue client.
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            // Retrieve a reference to a queue.
            CloudQueue queue = queueClient.GetQueueReference(commandData.Queue);

            // Read
            var retrievedMessage = await queue.GetMessageAsync(TimeSpan.FromSeconds(30),
                                                               Options,
                                                               Context);

            Console.WriteLine($"Readed: {retrievedMessage.AsString}");

            //Do stuff...

            await queue.DeleteMessageAsync(retrievedMessage,
                                           new QueueRequestOptions(),
                                           Context);

            Console.WriteLine($"Deleted: {retrievedMessage.AsString}");
        }
Esempio n. 2
0
        public static async Task DeQueueMessageAsync(BaseCommandData commandData)
        {
            var storageAccount = StorageAccountFactory.Get(commandData);

            // Create the queue client.
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            // Retrieve a reference to a queue.
            CloudQueue queue = queueClient.GetQueueReference(commandData.Queue);

            // Read
            var retrievedMessage = await queue.GetMessageAsync();

            if (retrievedMessage != null)
            {
                Console.WriteLine($"Readed: {retrievedMessage.AsString}");

                //Do stuff...

                await queue.DeleteMessageAsync(retrievedMessage);

                Console.WriteLine($"Deleted: {retrievedMessage.AsString}");
            }
            else
            {
                Console.WriteLine("No messages on queue");
            }
        }
Esempio n. 3
0
 public void AddCommand(CmdType type, ICommand cmd, BaseCommandData data)
 {
     if (!cmdDic.ContainsKey(type))
     {
         cmdDic.Add(type, new Stack <ICommand>());
         dataDic.Add(type, new Stack <BaseCommandData>());
     }
     cmdDic[type].Push(cmd);
     dataDic[type].Push(data);
 }
Esempio n. 4
0
        public static async Task CountMessagesAsync(BaseCommandData commandData)
        {
            var storageAccount = StorageAccountFactory.Get(commandData);

            // Create the queue client.
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            // Retrieve a reference to a queue.
            CloudQueue queue = queueClient.GetQueueReference(commandData.Queue);

            // Fetch
            await queue.FetchAttributesAsync();

            // Display number of messages.
            Console.WriteLine($"Number of messages in queue: {queue.ApproximateMessageCount}");
        }
Esempio n. 5
0
        private async Task GetFileSharesAsync(BaseCommandData commandData)
        {
            var    factory = new StorageRequestFactory(commandData.StorageAccount, commandData.StorageKey);
            String uri     = string.Format("http://{0}.file.core.windows.net?comp=list", commandData.StorageAccount);

            using (var httpRequestMessage = factory.CreateRequest(HttpMethod.Get, uri))
            {
                using (HttpResponseMessage httpResponseMessage = await new HttpClient().SendAsync(httpRequestMessage))
                {
                    if (httpResponseMessage.StatusCode == HttpStatusCode.OK)
                    {
                        String sharesString = await httpResponseMessage.Content.ReadAsStringAsync();

                        XElement x = XElement.Parse(sharesString);
                        foreach (XElement container in x.Element("Shares").Elements("Share"))
                        {
                            Console.WriteLine("Share: name = {0}", container.Element("Name").Value);
                        }
                    }
                }
            }
        }
Esempio n. 6
0
        public static async Task PeekMessageAsync(BaseCommandData commandData)
        {
            var storageAccount = StorageAccountFactory.Get(commandData);

            // Create the queue client.
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            // Retrieve a reference to a queue.
            CloudQueue queue = queueClient.GetQueueReference(commandData.Queue);

            // Peek
            var peekedMessage = await queue.PeekMessageAsync();

            if (peekedMessage != null)
            {
                Console.WriteLine(peekedMessage.AsString);
            }
            else
            {
                Console.WriteLine("No messages on queue");
            }
        }
Esempio n. 7
0
        public static async Task DeQueueMessageAsync(BaseCommandData commandData)
        {
            var storageAccount = StorageAccountFactory.Get(commandData);

            // Create the queue client.
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            // Retrieve a reference to a queue.
            CloudQueue queue = queueClient.GetQueueReference(commandData.Queue);

            // Read batch
            var readed = await queue.GetMessagesAsync(5, TimeSpan.FromMinutes(1), new QueueRequestOptions(), new OperationContext());

            foreach (CloudQueueMessage retrievedMessage in readed)
            {
                Console.WriteLine($"Readed: {retrievedMessage.AsString}");
                // Process all messages in less than 5 minutes, deleting each message after processing.
                await queue.DeleteMessageAsync(retrievedMessage);

                //Do stuff...
                Console.WriteLine($"Deleted: {retrievedMessage.AsString}");
            }
        }
Esempio n. 8
0
        public static async Task ReadMessageAsync(BaseCommandData commandData)
        {
            var storageAccount = StorageAccountFactory.Get(commandData);

            // Create the queue client.
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            // Retrieve a reference to a queue.
            CloudQueue queue = queueClient.GetQueueReference(commandData.Queue);

            // Read (it will make themessage invisible toother for 30 seconds)
            // If message is deleted it will come back visible (as is it would be queued again).
            // In this case message DequeueCount property is inreased by 1
            var retrievedMessage = await queue.GetMessageAsync();

            if (retrievedMessage != null)
            {
                Console.WriteLine($"Readed: {retrievedMessage.AsString}");
            }
            else
            {
                Console.WriteLine("No messages on queue");
            }
        }