[ aws . sqs ]



Deletes up to ten messages from the specified queue. This is a batch version of `` DeleteMessage .`` The result of the action on each message is reported individually in the response.


Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200 .

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:



See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--queue-url <value>
--entries <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--queue-url (string)

The URL of the Amazon SQS queue from which messages are deleted.

Queue URLs and names are case-sensitive.

--entries (list)

A list of receipt handles for the messages to be deleted.


Encloses a receipt handle and an identifier for it.

Id -> (string)

An identifier for this particular receipt handle. This is used to communicate the result.


The Id s of a batch request need to be unique within a request.

This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

ReceiptHandle -> (string)

A receipt handle.

Shorthand Syntax:

Id=string,ReceiptHandle=string ...

JSON Syntax:

    "Id": "string",
    "ReceiptHandle": "string"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.


To delete multiple messages as a batch

This example deletes the specified messages.


aws sqs delete-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://delete-message-batch.json

Input file (delete-message-batch.json):

        "Id": "FirstMessage",
        "ReceiptHandle": "AQEB1mgl...Z4GuLw=="
    "Id": "SecondMessage",
        "ReceiptHandle": "AQEBLsYM...VQubAA=="


  "Successful": [
      "Id": "FirstMessage"
      "Id": "SecondMessage"


Successful -> (list)

A list of `` DeleteMessageBatchResultEntry `` items.


Encloses the Id of an entry in `` DeleteMessageBatch .``

Id -> (string)

Represents a successfully deleted message.

Failed -> (list)

A list of `` BatchResultErrorEntry `` items.


Gives a detailed description of the result of an action on each entry in the request.

Id -> (string)

The Id of an entry in a batch request.

SenderFault -> (boolean)

Specifies whether the error happened due to the caller of the batch API action.

Code -> (string)

An error code representing why the action failed on this entry.

Message -> (string)

A message explaining why the action failed on this entry.