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}"); }
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"); } }
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); }
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}"); }
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); } } } } }
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"); } }
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}"); } }
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"); } }