aws-sdk-sqs 1.88.0 → 1.107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,36 +7,36 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/invocation_id.rb'
26
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
- require 'aws-sdk-core/plugins/http_checksum.rb'
31
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
- require 'aws-sdk-core/plugins/request_compression.rb'
33
- require 'aws-sdk-core/plugins/defaults_mode.rb'
34
- require 'aws-sdk-core/plugins/recursion_detection.rb'
35
- require 'aws-sdk-core/plugins/telemetry.rb'
36
- require 'aws-sdk-core/plugins/sign.rb'
37
- require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
38
- require 'aws-sdk-sqs/plugins/queue_urls.rb'
39
- require 'aws-sdk-sqs/plugins/md5s.rb'
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc'
38
+ require 'aws-sdk-sqs/plugins/queue_urls'
39
+ require 'aws-sdk-sqs/plugins/md5s'
40
40
 
41
41
  module Aws::SQS
42
42
  # An API client for SQS. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -99,8 +99,8 @@ module Aws::SQS
99
99
  # class name or an instance of a plugin class.
100
100
  #
101
101
  # @option options [required, Aws::CredentialProvider] :credentials
102
- # Your AWS credentials. This can be an instance of any one of the
103
- # following classes:
102
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
103
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
104
104
  #
105
105
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
106
106
  # credentials.
@@ -128,22 +128,24 @@ module Aws::SQS
128
128
  # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
129
129
  # from the Cognito Identity service.
130
130
  #
131
- # When `:credentials` are not configured directly, the following
132
- # locations will be searched for credentials:
131
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
133
132
  #
134
133
  # * `Aws.config[:credentials]`
134
+ #
135
135
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
136
136
  # `:account_id` options.
137
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
138
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
137
+ #
138
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
139
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
140
+ #
139
141
  # * `~/.aws/credentials`
142
+ #
140
143
  # * `~/.aws/config`
141
- # * EC2/ECS IMDS instance profile - When used by default, the timeouts
142
- # are very aggressive. Construct and pass an instance of
143
- # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
144
- # enable retries and extended timeouts. Instance profile credential
145
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
146
- # to true.
144
+ #
145
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
146
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
147
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
148
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
147
149
  #
148
150
  # @option options [required, String] :region
149
151
  # The AWS region to connect to. The configured `:region` is
@@ -171,6 +173,11 @@ module Aws::SQS
171
173
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
172
174
  # not retry instead of sleeping.
173
175
  #
176
+ # @option options [Array<String>] :auth_scheme_preference
177
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
178
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
179
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
180
+ #
174
181
  # @option options [Boolean] :client_side_monitoring (false)
175
182
  # When `true`, client-side metrics will be collected for all API requests from
176
183
  # this client.
@@ -204,8 +211,7 @@ module Aws::SQS
204
211
  # accepted modes and the configuration defaults that are included.
205
212
  #
206
213
  # @option options [Boolean] :disable_host_prefix_injection (false)
207
- # Set to true to disable SDK automatically adding host prefix
208
- # to default service endpoint when available.
214
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
209
215
  #
210
216
  # @option options [Boolean] :disable_request_compression (false)
211
217
  # When set to 'true' the request body will not be compressed
@@ -258,14 +264,37 @@ module Aws::SQS
258
264
  # 4 times. Used in `standard` and `adaptive` retry modes.
259
265
  #
260
266
  # @option options [String] :profile ("default")
261
- # Used when loading credentials from the shared credentials file
262
- # at HOME/.aws/credentials. When not specified, 'default' is used.
267
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
268
+ # When not specified, 'default' is used.
269
+ #
270
+ # @option options [String] :request_checksum_calculation ("when_supported")
271
+ # Determines when a checksum will be calculated for request payloads. Values are:
272
+ #
273
+ # * `when_supported` - (default) When set, a checksum will be
274
+ # calculated for all request payloads of operations modeled with the
275
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
276
+ # `requestAlgorithmMember` is modeled.
277
+ # * `when_required` - When set, a checksum will only be calculated for
278
+ # request payloads of operations modeled with the `httpChecksum` trait where
279
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
280
+ # is modeled and supplied.
263
281
  #
264
282
  # @option options [Integer] :request_min_compression_size_bytes (10240)
265
283
  # The minimum size in bytes that triggers compression for request
266
284
  # bodies. The value must be non-negative integer value between 0
267
285
  # and 10485780 bytes inclusive.
268
286
  #
287
+ # @option options [String] :response_checksum_validation ("when_supported")
288
+ # Determines when checksum validation will be performed on response payloads. Values are:
289
+ #
290
+ # * `when_supported` - (default) When set, checksum validation is performed on all
291
+ # response payloads of operations modeled with the `httpChecksum` trait where
292
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
293
+ # are supported.
294
+ # * `when_required` - When set, checksum validation is not performed on
295
+ # response payloads of operations unless the checksum algorithm is supported and
296
+ # the `requestValidationModeMember` member is set to `ENABLED`.
297
+ #
269
298
  # @option options [Proc] :retry_backoff
270
299
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
271
300
  # This option is only used in the `legacy` retry mode.
@@ -356,8 +385,8 @@ module Aws::SQS
356
385
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
357
386
  #
358
387
  # @option options [Aws::TokenProvider] :token_provider
359
- # A Bearer Token Provider. This can be an instance of any one of the
360
- # following classes:
388
+ # Your Bearer token used for authentication. This can be any class that includes and implements
389
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
361
390
  #
362
391
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
363
392
  # tokens.
@@ -652,7 +681,7 @@ module Aws::SQS
652
681
  # increase the number of queues you use to process your messages. To
653
682
  # request a limit increase, [file a support request][2].
654
683
  #
655
- # For FIFO queues, there can be a maximum of 20,000 in flight messages
684
+ # For FIFO queues, there can be a maximum of 120,000 in flight messages
656
685
  # (received from a queue by a consumer, but not yet deleted from the
657
686
  # queue). If you reach this limit, Amazon SQS returns no error messages.
658
687
  #
@@ -775,7 +804,7 @@ module Aws::SQS
775
804
  # convert an existing standard queue into a FIFO queue. You must
776
805
  # either create a new FIFO queue for your application or delete your
777
806
  # existing standard queue and recreate it as a FIFO queue. For more
778
- # information, see [Moving From a Standard Queue to a FIFO Queue][1]
807
+ # information, see [Moving From a standard queue to a FIFO queue][1]
779
808
  # in the *Amazon SQS Developer Guide*.
780
809
  #
781
810
  # </note>
@@ -795,20 +824,24 @@ module Aws::SQS
795
824
  #
796
825
  # </note>
797
826
  #
798
- # To get the queue URL, use the ` GetQueueUrl ` action. ` GetQueueUrl `
799
- # requires only the `QueueName` parameter. be aware of existing queue
800
- # names:
827
+ # To retrieve the URL of a queue, use the [ `GetQueueUrl` ][3] action.
828
+ # This action only requires the [ `QueueName` ][4] parameter.
829
+ #
830
+ # When creating queues, keep the following points in mind:
801
831
  #
802
- # * If you provide the name of an existing queue along with the exact
803
- # names and values of all the queue's attributes, `CreateQueue`
804
- # returns the queue URL for the existing queue.
832
+ # * If you specify the name of an existing queue and provide the exact
833
+ # same names and values for all its attributes, the [ `CreateQueue`
834
+ # ][5] action will return the URL of the existing queue instead of
835
+ # creating a new one.
805
836
  #
806
- # * If the queue name, attribute names, or attribute values don't match
807
- # an existing queue, `CreateQueue` returns an error.
837
+ # * If you attempt to create a queue with a name that already exists but
838
+ # with different attribute names or values, the `CreateQueue` action
839
+ # will return an error. This ensures that existing queues are not
840
+ # inadvertently altered.
808
841
  #
809
842
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
810
843
  # information, see [Grant cross-account permissions to a role and a
811
- # username][3] in the *Amazon SQS Developer Guide*.
844
+ # username][6] in the *Amazon SQS Developer Guide*.
812
845
  #
813
846
  # </note>
814
847
  #
@@ -816,7 +849,10 @@ module Aws::SQS
816
849
  #
817
850
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-moving
818
851
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
819
- # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
852
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_GetQueueUrl.html
853
+ # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html#API_CreateQueue_RequestSyntax
854
+ # [5]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html
855
+ # [6]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name
820
856
  #
821
857
  # @option params [required, String] :queue_name
822
858
  # The name of the new queue. The following limits apply to this name:
@@ -842,8 +878,8 @@ module Aws::SQS
842
878
  #
843
879
  # * `MaximumMessageSize` – The limit of how many bytes a message can
844
880
  # contain before Amazon SQS rejects it. Valid values: An integer from
845
- # 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144
846
- # (256 KiB).
881
+ # 1,024 bytes (1 KiB) to 1,048,576 bytes (1 MiB). Default: 1,048,576
882
+ # bytes (1 MiB).
847
883
  #
848
884
  # * `MessageRetentionPeriod` – The length of time, in seconds, for which
849
885
  # Amazon SQS retains a message. Valid values: An integer from 60
@@ -884,7 +920,6 @@ module Aws::SQS
884
920
  # Default: 10. When the `ReceiveCount` for a message exceeds the
885
921
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
886
922
  # dead-letter-queue.
887
- #
888
923
  # * `RedriveAllowPolicy` – The string that includes the parameters for
889
924
  # the permissions for the dead-letter queue redrive permission and
890
925
  # which source queues can specify dead-letter queues as a JSON object.
@@ -903,7 +938,6 @@ module Aws::SQS
903
938
  #
904
939
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
905
940
  # parameter can specify this queue as the dead-letter queue.
906
- #
907
941
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
908
942
  # queues that can specify this queue as the dead-letter queue and
909
943
  # redrive messages. You can specify this parameter only when the
@@ -975,7 +1009,6 @@ module Aws::SQS
975
1009
  #
976
1010
  # * If the queue has `ContentBasedDeduplication` set, your
977
1011
  # `MessageDeduplicationId` overrides the generated one.
978
- #
979
1012
  # * When `ContentBasedDeduplication` is in effect, messages with
980
1013
  # identical content sent within the deduplication interval are
981
1014
  # treated as duplicates and only one copy of the message is
@@ -1103,12 +1136,14 @@ module Aws::SQS
1103
1136
  # automatically deletes messages left in a queue longer than the
1104
1137
  # retention period configured for the queue.
1105
1138
  #
1106
- # <note markdown="1"> The `ReceiptHandle` is associated with a *specific instance* of
1107
- # receiving a message. If you receive a message more than once, the
1108
- # `ReceiptHandle` is different each time you receive a message. When you
1109
- # use the `DeleteMessage` action, you must provide the most recently
1110
- # received `ReceiptHandle` for the message (otherwise, the request
1111
- # succeeds, but the message will not be deleted).
1139
+ # <note markdown="1"> Each time you receive a message, meaning when a consumer retrieves a
1140
+ # message from the queue, it comes with a unique `ReceiptHandle`. If you
1141
+ # receive the same message more than once, you will get a different
1142
+ # `ReceiptHandle` each time. When you want to delete a message using the
1143
+ # `DeleteMessage` action, you must use the `ReceiptHandle` from the most
1144
+ # recent time you received the message. If you use an old
1145
+ # `ReceiptHandle`, the request will succeed, but the message might not
1146
+ # be deleted.
1112
1147
  #
1113
1148
  # For standard queues, it is possible to receive a message even after
1114
1149
  # you delete it. This might happen on rare occasions if one of the
@@ -1348,7 +1383,6 @@ module Aws::SQS
1348
1383
  # Default: 10. When the `ReceiveCount` for a message exceeds the
1349
1384
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
1350
1385
  # dead-letter-queue.
1351
- #
1352
1386
  # * `RedriveAllowPolicy` – The string that includes the parameters for
1353
1387
  # the permissions for the dead-letter queue redrive permission and
1354
1388
  # which source queues can specify dead-letter queues as a JSON object.
@@ -1367,7 +1401,6 @@ module Aws::SQS
1367
1401
  #
1368
1402
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
1369
1403
  # parameter can specify this queue as the dead-letter queue.
1370
- #
1371
1404
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
1372
1405
  # queues that can specify this queue as the dead-letter queue and
1373
1406
  # redrive messages. You can specify this parameter only when the
@@ -1481,29 +1514,32 @@ module Aws::SQS
1481
1514
  req.send_request(options)
1482
1515
  end
1483
1516
 
1484
- # Returns the URL of an existing Amazon SQS queue.
1485
- #
1486
- # To access a queue that belongs to another AWS account, use the
1487
- # `QueueOwnerAWSAccountId` parameter to specify the account ID of the
1488
- # queue's owner. The queue's owner must grant you permission to access
1489
- # the queue. For more information about shared queue access, see `
1490
- # AddPermission ` or see [Allow Developers to Write Messages to a Shared
1491
- # Queue][1] in the *Amazon SQS Developer Guide*.
1517
+ # The `GetQueueUrl` API returns the URL of an existing Amazon SQS queue.
1518
+ # This is useful when you know the queue's name but need to retrieve
1519
+ # its URL for further operations.
1520
+ #
1521
+ # To access a queue owned by another Amazon Web Services account, use
1522
+ # the `QueueOwnerAWSAccountId` parameter to specify the account ID of
1523
+ # the queue's owner. Note that the queue owner must grant you the
1524
+ # necessary permissions to access the queue. For more information about
1525
+ # accessing shared queues, see the ` AddPermission ` API or [Allow
1526
+ # developers to write messages to a shared queue][1] in the *Amazon SQS
1527
+ # Developer Guide*.
1492
1528
  #
1493
1529
  #
1494
1530
  #
1495
1531
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-writing-an-sqs-policy.html#write-messages-to-shared-queue
1496
1532
  #
1497
1533
  # @option params [required, String] :queue_name
1498
- # The name of the queue whose URL must be fetched. Maximum 80
1499
- # characters. Valid values: alphanumeric characters, hyphens (`-`), and
1500
- # underscores (`_`).
1501
- #
1502
- # Queue URLs and names are case-sensitive.
1534
+ # (Required) The name of the queue for which you want to fetch the URL.
1535
+ # The name can be up to 80 characters long and can include alphanumeric
1536
+ # characters, hyphens (-), and underscores (\_). Queue URLs and names
1537
+ # are case-sensitive.
1503
1538
  #
1504
1539
  # @option params [String] :queue_owner_aws_account_id
1505
- # The Amazon Web Services account ID of the account that created the
1506
- # queue.
1540
+ # (Optional) The Amazon Web Services account ID of the account that
1541
+ # created the queue. This is only required when you are attempting to
1542
+ # access a queue owned by another Amazon Web Services account.
1507
1543
  #
1508
1544
  # @return [Types::GetQueueUrlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1509
1545
  #
@@ -1803,7 +1839,7 @@ module Aws::SQS
1803
1839
  # Developer Guide*.
1804
1840
  #
1805
1841
  # Short poll is the default behavior where a weighted random set of
1806
- # machines is sampled on a `ReceiveMessage` call. Thus, only the
1842
+ # machines is sampled on a `ReceiveMessage` call. Therefore, only the
1807
1843
  # messages on the sampled machines are returned. If the number of
1808
1844
  # messages in the queue is small (fewer than 1,000), you most likely get
1809
1845
  # fewer messages than you requested per `ReceiveMessage` call. If the
@@ -1833,14 +1869,8 @@ module Aws::SQS
1833
1869
  # You can provide the `VisibilityTimeout` parameter in your request. The
1834
1870
  # parameter is applied to the messages that Amazon SQS returns in the
1835
1871
  # response. If you don't include the parameter, the overall visibility
1836
- # timeout for the queue is used for the returned messages. For more
1837
- # information, see [Visibility Timeout][4] in the *Amazon SQS Developer
1838
- # Guide*.
1839
- #
1840
- # A message that isn't deleted or a message whose visibility isn't
1841
- # extended before the visibility timeout expires counts as a failed
1842
- # receive. Depending on the configuration of the queue, the message
1843
- # might be sent to the dead-letter queue.
1872
+ # timeout for the queue is used for the returned messages. The default
1873
+ # visibility timeout for a queue is 30 seconds.
1844
1874
  #
1845
1875
  # <note markdown="1"> In the future, new attributes might be added. If you write code that
1846
1876
  # calls this action, we recommend that you structure your code so that
@@ -1853,7 +1883,6 @@ module Aws::SQS
1853
1883
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html
1854
1884
  # [2]: https://www.ietf.org/rfc/rfc1321.txt
1855
1885
  # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
1856
- # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1857
1886
  #
1858
1887
  # @option params [required, String] :queue_url
1859
1888
  # The URL of the Amazon SQS queue from which messages are received.
@@ -1861,9 +1890,9 @@ module Aws::SQS
1861
1890
  # Queue URLs and names are case-sensitive.
1862
1891
  #
1863
1892
  # @option params [Array<String>] :attribute_names
1864
- # This parameter has been deprecated but will be supported for backward
1865
- # compatibility. To provide attribute names, you are encouraged to use
1866
- # `MessageSystemAttributeNames`.
1893
+ # This parameter has been discontinued but will be supported for
1894
+ # backward compatibility. To provide attribute names, you are encouraged
1895
+ # to use `MessageSystemAttributeNames`.
1867
1896
  #
1868
1897
  # A list of attributes that need to be returned along with each message.
1869
1898
  # These attributes include:
@@ -1885,7 +1914,6 @@ module Aws::SQS
1885
1914
  #
1886
1915
  # * For an IAM role, returns the IAM role ID, for example
1887
1916
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1888
- #
1889
1917
  # * `SentTimestamp` – Returns the time the message was sent to the queue
1890
1918
  # ([epoch time][1] in milliseconds).
1891
1919
  #
@@ -1897,8 +1925,7 @@ module Aws::SQS
1897
1925
  # producer that calls the ` SendMessage ` action.
1898
1926
  #
1899
1927
  # * `MessageGroupId` – Returns the value provided by the producer that
1900
- # calls the ` SendMessage ` action. Messages with the same
1901
- # `MessageGroupId` are returned in sequence.
1928
+ # calls the ` SendMessage ` action.
1902
1929
  #
1903
1930
  # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1904
1931
  #
@@ -1929,7 +1956,6 @@ module Aws::SQS
1929
1956
  #
1930
1957
  # * For an IAM role, returns the IAM role ID, for example
1931
1958
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1932
- #
1933
1959
  # * `SentTimestamp` – Returns the time the message was sent to the queue
1934
1960
  # ([epoch time][1] in milliseconds).
1935
1961
  #
@@ -1941,8 +1967,7 @@ module Aws::SQS
1941
1967
  # producer that calls the ` SendMessage ` action.
1942
1968
  #
1943
1969
  # * `MessageGroupId` – Returns the value provided by the producer that
1944
- # calls the ` SendMessage ` action. Messages with the same
1945
- # `MessageGroupId` are returned in sequence.
1970
+ # calls the ` SendMessage ` action.
1946
1971
  #
1947
1972
  # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1948
1973
  #
@@ -1982,14 +2007,47 @@ module Aws::SQS
1982
2007
  # @option params [Integer] :visibility_timeout
1983
2008
  # The duration (in seconds) that the received messages are hidden from
1984
2009
  # subsequent retrieve requests after being retrieved by a
1985
- # `ReceiveMessage` request.
2010
+ # `ReceiveMessage` request. If not specified, the default visibility
2011
+ # timeout for the queue is used, which is 30 seconds.
2012
+ #
2013
+ # Understanding `VisibilityTimeout`:
2014
+ #
2015
+ # * When a message is received from a queue, it becomes temporarily
2016
+ # invisible to other consumers for the duration of the visibility
2017
+ # timeout. This prevents multiple consumers from processing the same
2018
+ # message simultaneously. If the message is not deleted or its
2019
+ # visibility timeout is not extended before the timeout expires, it
2020
+ # becomes visible again and can be retrieved by other consumers.
2021
+ #
2022
+ # * Setting an appropriate visibility timeout is crucial. If it's too
2023
+ # short, the message might become visible again before processing is
2024
+ # complete, leading to duplicate processing. If it's too long, it
2025
+ # delays the reprocessing of messages if the initial processing fails.
2026
+ #
2027
+ # * You can adjust the visibility timeout using the
2028
+ # `--visibility-timeout` parameter in the `receive-message` command to
2029
+ # match the processing time required by your application.
2030
+ #
2031
+ # * A message that isn't deleted or a message whose visibility isn't
2032
+ # extended before the visibility timeout expires counts as a failed
2033
+ # receive. Depending on the configuration of the queue, the message
2034
+ # might be sent to the dead-letter queue.
2035
+ #
2036
+ # For more information, see [Visibility Timeout][1] in the *Amazon SQS
2037
+ # Developer Guide*.
2038
+ #
2039
+ #
2040
+ #
2041
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1986
2042
  #
1987
2043
  # @option params [Integer] :wait_time_seconds
1988
2044
  # The duration (in seconds) for which the call waits for a message to
1989
2045
  # arrive in the queue before returning. If a message is available, the
1990
2046
  # call returns sooner than `WaitTimeSeconds`. If no messages are
1991
2047
  # available and the wait time expires, the call does not return a
1992
- # message list.
2048
+ # message list. If you are using the Java SDK, it returns a
2049
+ # `ReceiveMessageResponse` object, which has a empty list instead of a
2050
+ # Null object.
1993
2051
  #
1994
2052
  # To avoid HTTP errors, ensure that the HTTP response timeout for
1995
2053
  # `ReceiveMessage` requests is longer than the `WaitTimeSeconds`
@@ -2042,7 +2100,8 @@ module Aws::SQS
2042
2100
  # * While messages with a particular `MessageGroupId` are invisible, no
2043
2101
  # more messages belonging to the same `MessageGroupId` are returned
2044
2102
  # until the visibility timeout expires. You can still receive messages
2045
- # with another `MessageGroupId` as long as it is also visible.
2103
+ # with another `MessageGroupId` from your FIFO queue as long as they
2104
+ # are visible.
2046
2105
  #
2047
2106
  # * If a caller of `ReceiveMessage` can't track the
2048
2107
  # `ReceiveRequestAttemptId`, no retries work until the original
@@ -2163,11 +2222,10 @@ module Aws::SQS
2163
2222
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2164
2223
  # \| `#x10000` to `#x10FFFF`
2165
2224
  #
2166
- # Amazon SQS does not throw an exception or completely reject the
2167
- # message if it contains invalid characters. Instead, it replaces those
2168
- # invalid characters with `U+FFFD` before storing the message in the
2169
- # queue, as long as the message body contains at least one valid
2170
- # character.
2225
+ # If a message contains characters outside the allowed set, Amazon SQS
2226
+ # rejects the message and returns an InvalidMessageContents error.
2227
+ # Ensure that your message body includes only valid characters to avoid
2228
+ # this exception.
2171
2229
  #
2172
2230
  #
2173
2231
  #
@@ -2180,7 +2238,7 @@ module Aws::SQS
2180
2238
  #
2181
2239
  # @option params [required, String] :message_body
2182
2240
  # The message to send. The minimum size is one character. The maximum
2183
- # size is 256 KiB.
2241
+ # size is 1 MiB or 1,048,576 bytes
2184
2242
  #
2185
2243
  # A message can include only XML, JSON, and unformatted text. The
2186
2244
  # following Unicode characters are allowed. For more information, see
@@ -2189,11 +2247,10 @@ module Aws::SQS
2189
2247
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2190
2248
  # \| `#x10000` to `#x10FFFF`
2191
2249
  #
2192
- # Amazon SQS does not throw an exception or completely reject the
2193
- # message if it contains invalid characters. Instead, it replaces those
2194
- # invalid characters with `U+FFFD` before storing the message in the
2195
- # queue, as long as the message body contains at least one valid
2196
- # character.
2250
+ # If a message contains characters outside the allowed set, Amazon SQS
2251
+ # rejects the message and returns an InvalidMessageContents error.
2252
+ # Ensure that your message body includes only valid characters to avoid
2253
+ # this exception.
2197
2254
  #
2198
2255
  #
2199
2256
  #
@@ -2256,7 +2313,6 @@ module Aws::SQS
2256
2313
  #
2257
2314
  # * If the queue has `ContentBasedDeduplication` set, your
2258
2315
  # `MessageDeduplicationId` overrides the generated one.
2259
- #
2260
2316
  # * When `ContentBasedDeduplication` is in effect, messages with
2261
2317
  # identical content sent within the deduplication interval are treated
2262
2318
  # as duplicates and only one copy of the message is delivered.
@@ -2294,34 +2350,54 @@ module Aws::SQS
2294
2350
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
2295
2351
  #
2296
2352
  # @option params [String] :message_group_id
2297
- # This parameter applies only to FIFO (first-in-first-out) queues.
2298
- #
2299
- # The tag that specifies that a message belongs to a specific message
2300
- # group. Messages that belong to the same message group are processed in
2301
- # a FIFO manner (however, messages in different message groups might be
2302
- # processed out of order). To interleave multiple ordered streams within
2303
- # a single queue, use `MessageGroupId` values (for example, session data
2304
- # for multiple users). In this scenario, multiple consumers can process
2305
- # the queue, but the session data of each user is processed in a FIFO
2306
- # fashion.
2307
- #
2308
- # * You must associate a non-empty `MessageGroupId` with a message. If
2309
- # you don't provide a `MessageGroupId`, the action fails.
2310
- #
2311
- # * `ReceiveMessage` might return messages with multiple
2353
+ # `MessageGroupId` is an attribute used in Amazon SQS FIFO
2354
+ # (First-In-First-Out) and standard queues. In FIFO queues,
2355
+ # `MessageGroupId` organizes messages into distinct groups. Messages
2356
+ # within the same message group are always processed one at a time, in
2357
+ # strict order, ensuring that no two messages from the same group are
2358
+ # processed simultaneously. In standard queues, using `MessageGroupId`
2359
+ # enables fair queues. It is used to identify the tenant a message
2360
+ # belongs to, helping maintain consistent message dwell time across all
2361
+ # tenants during noisy neighbor events. Unlike FIFO queues, messages
2362
+ # with the same `MessageGroupId` can be processed in parallel,
2363
+ # maintaining the high throughput of standard queues.
2364
+ #
2365
+ # * **FIFO queues:** `MessageGroupId` acts as the tag that specifies
2366
+ # that a message belongs to a specific message group. Messages that
2367
+ # belong to the same message group are processed in a FIFO manner
2368
+ # (however, messages in different message groups might be processed
2369
+ # out of order). To interleave multiple ordered streams within a
2370
+ # single queue, use `MessageGroupId` values (for example, session data
2371
+ # for multiple users). In this scenario, multiple consumers can
2372
+ # process the queue, but the session data of each user is processed in
2373
+ # a FIFO fashion.
2374
+ #
2375
+ # If you do not provide a `MessageGroupId` when sending a message to a
2376
+ # FIFO queue, the action fails.
2377
+ #
2378
+ # `ReceiveMessage` might return messages with multiple
2312
2379
  # `MessageGroupId` values. For each `MessageGroupId`, the messages are
2313
- # sorted by time sent. The caller can't specify a `MessageGroupId`.
2314
- #
2315
- # The maximum length of `MessageGroupId` is 128 characters. Valid
2316
- # values: alphanumeric characters and punctuation ``
2380
+ # sorted by time sent.
2381
+ #
2382
+ # * **Standard queues:**Use `MessageGroupId` in standard queues to
2383
+ # enable fair queues. The `MessageGroupId` identifies the tenant a
2384
+ # message belongs to. A tenant can be any entity that shares a queue
2385
+ # with others, such as your customer, a client application, or a
2386
+ # request type. When one tenant sends a disproportionately large
2387
+ # volume of messages or has messages that require longer processing
2388
+ # time, fair queues ensure other tenants' messages maintain low dwell
2389
+ # time. This preserves quality of service for all tenants while
2390
+ # maintaining the scalability and throughput of standard queues. We
2391
+ # recommend that you include a `MessageGroupId` in all messages when
2392
+ # using fair queues.
2393
+ #
2394
+ # The length of `MessageGroupId` is 128 characters. Valid values:
2395
+ # alphanumeric characters and punctuation ``
2317
2396
  # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
2318
2397
  #
2319
2398
  # For best practices of using `MessageGroupId`, see [Using the
2320
2399
  # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
2321
2400
  #
2322
- # `MessageGroupId` is required for FIFO queues. You can't use it for
2323
- # Standard queues.
2324
- #
2325
2401
  #
2326
2402
  #
2327
2403
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html
@@ -2392,7 +2468,7 @@ module Aws::SQS
2392
2468
  #
2393
2469
  # The maximum allowed individual message size and the maximum total
2394
2470
  # payload size (the sum of the individual lengths of all of the batched
2395
- # messages) are both 256 KiB (262,144 bytes).
2471
+ # messages) are both 1 MiB 1,048,576 bytes.
2396
2472
  #
2397
2473
  # A message can include only XML, JSON, and unformatted text. The
2398
2474
  # following Unicode characters are allowed. For more information, see
@@ -2401,11 +2477,10 @@ module Aws::SQS
2401
2477
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2402
2478
  # \| `#x10000` to `#x10FFFF`
2403
2479
  #
2404
- # Amazon SQS does not throw an exception or completely reject the
2405
- # message if it contains invalid characters. Instead, it replaces those
2406
- # invalid characters with `U+FFFD` before storing the message in the
2407
- # queue, as long as the message body contains at least one valid
2408
- # character.
2480
+ # If a message contains characters outside the allowed set, Amazon SQS
2481
+ # rejects the message and returns an InvalidMessageContents error.
2482
+ # Ensure that your message body includes only valid characters to avoid
2483
+ # this exception.
2409
2484
  #
2410
2485
  # If you don't specify the `DelaySeconds` parameter for an entry,
2411
2486
  # Amazon SQS uses the default value for the queue.
@@ -2528,8 +2603,8 @@ module Aws::SQS
2528
2603
  #
2529
2604
  # * `MaximumMessageSize` – The limit of how many bytes a message can
2530
2605
  # contain before Amazon SQS rejects it. Valid values: An integer from
2531
- # 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144
2532
- # (256 KiB).
2606
+ # 1,024 bytes (1 KiB) up to 1,048,576 bytes (1 MiB). Default:
2607
+ # 1,048,576 bytes (1 MiB).
2533
2608
  #
2534
2609
  # * `MessageRetentionPeriod` – The length of time, in seconds, for which
2535
2610
  # Amazon SQS retains a message. Valid values: An integer representing
@@ -2571,7 +2646,6 @@ module Aws::SQS
2571
2646
  # Default: 10. When the `ReceiveCount` for a message exceeds the
2572
2647
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
2573
2648
  # dead-letter-queue.
2574
- #
2575
2649
  # * `RedriveAllowPolicy` – The string that includes the parameters for
2576
2650
  # the permissions for the dead-letter queue redrive permission and
2577
2651
  # which source queues can specify dead-letter queues as a JSON object.
@@ -2590,7 +2664,6 @@ module Aws::SQS
2590
2664
  #
2591
2665
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
2592
2666
  # parameter can specify this queue as the dead-letter queue.
2593
- #
2594
2667
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
2595
2668
  # queues that can specify this queue as the dead-letter queue and
2596
2669
  # redrive messages. You can specify this parameter only when the
@@ -2650,7 +2723,6 @@ module Aws::SQS
2650
2723
  #
2651
2724
  # * If the queue has `ContentBasedDeduplication` set, your
2652
2725
  # `MessageDeduplicationId` overrides the generated one.
2653
- #
2654
2726
  # * When `ContentBasedDeduplication` is in effect, messages with
2655
2727
  # identical content sent within the deduplication interval are
2656
2728
  # treated as duplicates and only one copy of the message is
@@ -2908,7 +2980,7 @@ module Aws::SQS
2908
2980
  tracer: tracer
2909
2981
  )
2910
2982
  context[:gem_name] = 'aws-sdk-sqs'
2911
- context[:gem_version] = '1.88.0'
2983
+ context[:gem_version] = '1.107.0'
2912
2984
  Seahorse::Client::Request.new(handlers, context)
2913
2985
  end
2914
2986