AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Deletes the specified message from the specified queue. To select the message to delete, use the ReceiptHandle of the message (not the MessageId which you receive when you send the message). Amazon SQS can delete a message from a queue even if a visibility timeout setting causes the message to be locked by another consumer. Amazon SQS automatically deletes messages left in a queue longer than the retention period configured for the queue.

The ReceiptHandle is associated with a specific instance of receiving a message. If you receive a message more than once, the ReceiptHandle is different each time you receive a message. When you use the DeleteMessage action, you must provide the most recently received ReceiptHandle for the message (otherwise, the request succeeds, but the message will not be deleted).

For standard queues, it is possible to receive a message even after you delete it. This might happen on rare occasions if one of the servers which stores a copy of the message is unavailable when you send the request to delete the message. The copy remains on the server and might be returned to you during a subsequent receive request. You should ensure that your application is idempotent, so that receiving a message more than once does not cause issues.

Note:

For .NET Core this operation is only available in asynchronous form. Please refer to DeleteMessageAsync.

Namespace: Amazon.SQS
Assembly: AWSSDK.SQS.dll
Version: 3.x.y.z

Syntax

C#
public virtual DeleteMessageResponse DeleteMessage(
         String queueUrl,
         String receiptHandle
)

Parameters

queueUrl
Type: System.String

The URL of the Amazon SQS queue from which messages are deleted. Queue URLs and names are case-sensitive.

receiptHandle
Type: System.String

The receipt handle associated with the message to delete.

Return Value


The response from the DeleteMessage service method, as returned by SQS.

Exceptions

ExceptionCondition
InvalidAddressException The accountId is invalid.
InvalidIdFormatException The specified receipt handle isn't valid for the current version.
InvalidSecurityException When the request to a queue is not HTTPS and SigV4.
QueueDoesNotExistException The specified queue doesn't exist.
ReceiptHandleIsInvalidException The specified receipt handle isn't valid.
RequestThrottledException The request was denied due to request throttling. The rate of requests per second exceeds the Amazon Web Services KMS request quota for an account and Region. A burst or sustained high rate of requests to change the state of the same KMS key. This condition is often known as a "hot key." Requests for operations on KMS keys in a Amazon Web Services CloudHSM key store might be throttled at a lower-than-expected rate when the Amazon Web Services CloudHSM cluster associated with the Amazon Web Services CloudHSM key store is processing numerous commands, including those unrelated to the Amazon Web Services CloudHSM key store.
UnsupportedOperationException Error code 400. Unsupported operation.

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

See Also