[ aws . sqs ]

change-message-visibility-batch

Description

Changes the visibility timeout of multiple messages. This is a batch version of `` ChangeMessageVisibility .`` The result of the action on each message is reported individually in the response. You can send up to 10 `` ChangeMessageVisibility `` requests with each ChangeMessageVisibilityBatch action.

Warning

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:

&AttributeName.1=first

&AttributeName.2=second

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

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

Options

--queue-url (string)

The URL of the Amazon SQS queue whose messages’ visibility is changed.

Queue URLs and names are case-sensitive.

--entries (list)

A list of receipt handles of the messages for which the visibility timeout must be changed.

(structure)

Encloses a receipt handle and an entry id for each message in `` ChangeMessageVisibilityBatch .``

Warning

All of the following list parameters must be prefixed with ChangeMessageVisibilityBatchRequestEntry.n , where n is an integer value starting with 1 . For example, a parameter list for this action might look like this:

&ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2

&ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=your_receipt_handle

&ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45

Id -> (string)

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

Note

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.

VisibilityTimeout -> (integer)

The new value (in seconds) for the message’s visibility timeout.

Shorthand Syntax:

Id=string,ReceiptHandle=string,VisibilityTimeout=integer ...

JSON Syntax:

[
  {
    "Id": "string",
    "ReceiptHandle": "string",
    "VisibilityTimeout": integer
  }
  ...
]

--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. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.

See ‘aws help’ for descriptions of global parameters.

Examples

Note

To use the following examples, you must have the AWS CLI installed and configured. See the Getting started guide in the AWS CLI User Guide for more information.

Unless otherwise stated, all examples have unix-like quotation rules. These examples will need to be adapted to your terminal’s quoting rules. See Using quotation marks with strings in the AWS CLI User Guide .

To change multiple messages’ timeout visibilities as a batch

This example changes the 2 specified messages’ timeout visibilities to 10 hours (10 hours * 60 minutes * 60 seconds).

Command:

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

Input file (change-message-visibility-batch.json):

[
  {
    "Id": "FirstMessage",
        "ReceiptHandle": "AQEBhz2q...Jf3kaw==",
        "VisibilityTimeout": 36000
  },
  {
    "Id": "SecondMessage",
        "ReceiptHandle": "AQEBkTUH...HifSnw==",
        "VisibilityTimeout": 36000
  }
]

Output:

{
  "Successful": [
    {
      "Id": "SecondMessage"
    },
    {
      "Id": "FirstMessage"
    }
  ]
}

Output

Successful -> (list)

A list of `` ChangeMessageVisibilityBatchResultEntry `` items.

(structure)

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

Id -> (string)

Represents a message whose visibility timeout has been changed successfully.

Failed -> (list)

A list of `` BatchResultErrorEntry `` items.

(structure)

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.