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
The
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.
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.
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).
This is an asynchronous operation using the standard naming convention for .NET 4.5 or higher. For .NET 3.5 the operation is implemented as a pair of methods using the standard naming convention of BeginDeleteMessage and EndDeleteMessage.
Namespace: Amazon.SQS
Assembly: AWSSDK.SQS.dll
Version: 3.x.y.z
public virtual Task<DeleteMessageResponse> DeleteMessageAsync( String queueUrl, String receiptHandle, CancellationToken cancellationToken )
The URL of the Amazon SQS queue from which messages are deleted. Queue URLs and names are case-sensitive.
The receipt handle associated with the message to delete.
A cancellation token that can be used by other objects or threads to receive notice of cancellation.
Exception | Condition |
---|---|
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. |
.NET:
Supported in: 8.0 and newer, Core 3.1
.NET Standard:
Supported in: 2.0
.NET Framework:
Supported in: 4.5 and newer