public DeleteMessage ( |
||
request | Container for the necessary parameters to execute the DeleteMessage service method. | |
return | Amazon.SQS.Model.DeleteMessageResponse |
static void Main(string[] args) { // AWS: Get instance public address string myId = "localhost"; try { myId = Encoding.ASCII.GetString(new WebClient().DownloadData("http://169.254.169.254/latest/meta-data/public-hostname")); } catch { } // AWS SQS Client var sqsClient = new AmazonSQSClient(); while (true) { // Get the next message ReceiveMessageRequest request = new ReceiveMessageRequest() .WithQueueUrl("https://queue.amazonaws.com/*****/codeCampDemo") .WithMaxNumberOfMessages(1); var response = sqsClient.ReceiveMessage(request); foreach (var retrievedMessage in response.ReceiveMessageResult.Message) { var messageJson = JsonValue.Parse(retrievedMessage.Body); var message = messageJson["message"].ReadAs<string>(); Console.WriteLine(message); message = "Echo: " + message; string address = string.Format("http://{0}", messageJson["sender"].ReadAs<string>()); var connection = new HubConnection(address); connection.Start().Wait(); IHubProxy pongHub = connection.CreateProxy("MvcWebRole1.Hubs.EchoHub"); pongHub.Invoke("DoUpdateMessage", message, myId).Wait(); //Process the message and then delete the message DeleteMessageRequest deleteRequest = new DeleteMessageRequest() .WithQueueUrl("https://queue.amazonaws.com/******/codeCampDemo") .WithReceiptHandle(retrievedMessage.ReceiptHandle); sqsClient.DeleteMessage(deleteRequest); } Thread.Sleep(1000); } }
public static string DequeueByQueueUrl(string queueUrl) { using (var client = new AmazonSQSClient(Settings.AccessKey, Settings.Secret)) { var request = new ReceiveMessageRequest() { QueueUrl = queueUrl }; var response = client.ReceiveMessage(request).Messages.First(); var body = response.Body; var deleteRequest = new DeleteMessageRequest { QueueUrl = queueUrl, ReceiptHandle = response.ReceiptHandle }; client.DeleteMessage(deleteRequest); return body; } }
public virtual void RemoveMessage(AmazonSQSClient sqsClient, string queueUrl, string receiptHandle) { // Create the request var deleteMessageRequest = new DeleteMessageRequest { ReceiptHandle = receiptHandle, QueueUrl = queueUrl }; // Submit the request sqsClient.DeleteMessage(deleteMessageRequest); }
public static void Main(string[] args) { IAmazonSQS sqs = new AmazonSQSClient(RegionEndpoint.USWest2); try { Console.WriteLine("==========================================="); Console.WriteLine("Getting Started with Amazon SQS"); Console.WriteLine("===========================================\n"); //Creating a queue Console.WriteLine("Create a queue called MyQueue.\n"); CreateQueueRequest sqsRequest = new CreateQueueRequest(); sqsRequest.QueueName = "MyQueue"; CreateQueueResponse createQueueResponse = sqs.CreateQueue(sqsRequest); String myQueueUrl; myQueueUrl = createQueueResponse.QueueUrl; //Confirming the queue exists ListQueuesRequest listQueuesRequest = new ListQueuesRequest(); ListQueuesResponse listQueuesResponse = sqs.ListQueues(listQueuesRequest); Console.WriteLine("Printing list of Amazon SQS queues.\n"); foreach (String queueUrl in listQueuesResponse.QueueUrls) { Console.WriteLine(" QueueUrl: {0}", queueUrl); } Console.WriteLine(); //Sending a message Console.WriteLine("Sending a message to MyQueue.\n"); SendMessageRequest sendMessageRequest = new SendMessageRequest(); sendMessageRequest.QueueUrl = myQueueUrl; //URL from initial queue creation sendMessageRequest.MessageBody = "This is my message text."; sqs.SendMessage(sendMessageRequest); //Receiving a message ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(); receiveMessageRequest.QueueUrl = myQueueUrl; ReceiveMessageResponse receiveMessageResponse = sqs.ReceiveMessage(receiveMessageRequest); Console.WriteLine("Printing received message.\n"); foreach (Message message in receiveMessageResponse.Messages) { Console.WriteLine(" Message"); Console.WriteLine(" MessageId: {0}", message.MessageId); Console.WriteLine(" ReceiptHandle: {0}", message.ReceiptHandle); Console.WriteLine(" MD5OfBody: {0}", message.MD5OfBody); Console.WriteLine(" Body: {0}", message.Body); foreach (KeyValuePair<string, string> entry in message.Attributes) { Console.WriteLine(" Attribute"); Console.WriteLine(" Name: {0}", entry.Key); Console.WriteLine(" Value: {0}", entry.Value); } } String messageRecieptHandle = receiveMessageResponse.Messages[0].ReceiptHandle; //Deleting a message Console.WriteLine("Deleting the message.\n"); DeleteMessageRequest deleteRequest = new DeleteMessageRequest(); deleteRequest.QueueUrl = myQueueUrl; deleteRequest.ReceiptHandle = messageRecieptHandle; sqs.DeleteMessage(deleteRequest); } catch (AmazonSQSException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); } Console.WriteLine("Press Enter to continue..."); Console.Read(); }
/// <summary> /// Rejects the specified message. /// </summary> /// <param name="message">The message.</param> /// <param name="requeue">if set to <c>true</c> [requeue].</param> public void Reject(Message message, bool requeue) { if (!message.Header.Bag.ContainsKey("ReceiptHandle")) return; var receiptHandle = message.Header.Bag["ReceiptHandle"].ToString(); try { _logger.InfoFormat("SqsMessageConsumer: Rejecting the message {0} with receipt handle {1} on the queue {2} with requeue paramter {3}", message.Id, receiptHandle, _queueUrl, requeue); using (var client = new AmazonSQSClient()) { if (requeue) { client.ChangeMessageVisibility(new ChangeMessageVisibilityRequest(_queueUrl, receiptHandle, 0)); } else { client.DeleteMessage(_queueUrl, receiptHandle); } } _logger.InfoFormat("SqsMessageConsumer: Message {0} with receipt handle {1} on the queue {2} with requeue paramter {3} has been rejected", message.Id, receiptHandle, _queueUrl, requeue); } catch (Exception exception) { _logger.ErrorException("SqsMessageConsumer: Error during rejecting the message {0} with receipt handle {1} on the queue {2}", exception, message.Id, receiptHandle, _queueUrl); throw; } }
public static void SQSDeleteMessage() { #region SQSDeleteMessage var client = new AmazonSQSClient(); var request = new ReceiveMessageRequest { AttributeNames = new List<string>() { "All" }, MaxNumberOfMessages = 5, QueueUrl = "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyTestQueue", VisibilityTimeout = (int)TimeSpan.FromMinutes(10).TotalSeconds, WaitTimeSeconds = (int)TimeSpan.FromSeconds(5).TotalSeconds }; var response = client.ReceiveMessage(request); if (response.Messages.Count > 0) { foreach (var message in response.Messages) { Console.Write("Message ID '" + message.MessageId + "' "); var delRequest = new DeleteMessageRequest { QueueUrl = "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyTestQueue", ReceiptHandle = message.ReceiptHandle }; var delResponse = client.DeleteMessage(delRequest); } } else { Console.WriteLine("No messages to delete."); } #endregion Console.ReadLine(); }