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.

  • 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#

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...