DeleteMessageBatch
In this article:
DeleteMessageBatch#
Description#
Deletes up to 10 messages from the specified queue in a single request.
Request Syntax#
POST / HTTP/1.1
Content-type: application/json
{
"QueueUrl": "string",
"Entries": [
{
"Id": "string",
"ReceiptHandle": "string"
}
]
}
Request Parameters#
Entries — The list of messages to be deleted.
Type: List of DeleteMessageBatchRequestEntry objects
Required: Yes
Constraints: Up to 10 entries
QueueUrl — The URL of the queue from which the messages are to be deleted.
Type: String
Required: Yes
Response Syntax#
HTTP/1.1 200
Content-type: application/json
{
"Successful": [
{
"Id": "string"
}
],
"Failed": [
{
"Id": "string",
"SenderFault": boolean,
"Code": "string",
"Message": "string"
}
]
}
Response Elements#
Failed — The list of messages whose deletion failed.
Type: List of BatchResultErrorEntry objects
Successful — The list of messages that have been deleted successfully.
Type: List of DeleteMessageBatchResultEntry objects
Errors#
BatchEntryIdsNotDistinct — Entry IDs are not unique.
EmptyBatchRequest — The batch request is empty.
TooManyEntriesInBatchRequest — Too many entries in the batch request (maximum 10).
Examples#
boto3
import boto3
session = boto3.Session(
aws_access_key_id="<AWS_ACCESS_KEY_ID>",
aws_secret_access_key="<AWS_SECRET_ACCESS_KEY>",
region_name="",
)
sqs_client = session.client(
'sqs',
endpoint_url='https://sqs.ru-msk.k2.cloud/'
)
# Receive messages
response = sqs_client.receive_message(
QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
MaxNumberOfMessages=10
)
if 'Messages' in response:
entries = [
{
'Id': str(i),
'ReceiptHandle': msg['ReceiptHandle']
}
for i, msg in enumerate(response['Messages'])
]
# Delete all messages
result = sqs_client.delete_message_batch(
QueueUrl='https://sqs.ru-msk.k2.cloud/123456789012/my-queue',
Entries=entries
)
print(f"Successful: {len(result.get('Successful', []))}")
print(f"Failed: {len(result.get('Failed', []))}")
aws-cli
aws sqs --endpoint https://sqs.ru-msk.k2.cloud/ delete-message-batch \\
--queue-url https://sqs.ru-msk.k2.cloud/123456789012/my-queue \\
--entries Id=1,ReceiptHandle=AQEB... Id=2,ReceiptHandle=AQEB...