aws-sdk-sqs 1.65.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/jsonvalue_converter.rb'
26
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
- require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
- require 'aws-sdk-core/plugins/request_compression.rb'
32
- require 'aws-sdk-core/plugins/defaults_mode.rb'
33
- require 'aws-sdk-core/plugins/recursion_detection.rb'
34
- require 'aws-sdk-core/plugins/sign.rb'
35
- require 'aws-sdk-core/plugins/protocols/query.rb'
36
- require 'aws-sdk-sqs/plugins/queue_urls.rb'
37
- require 'aws-sdk-sqs/plugins/md5s.rb'
38
-
39
- Aws::Plugins::GlobalConfiguration.add_identifier(:sqs)
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`.
@@ -74,6 +74,7 @@ module Aws::SQS
74
74
  add_plugin(Aws::Plugins::ResponsePaging)
75
75
  add_plugin(Aws::Plugins::StubResponses)
76
76
  add_plugin(Aws::Plugins::IdempotencyToken)
77
+ add_plugin(Aws::Plugins::InvocationId)
77
78
  add_plugin(Aws::Plugins::JsonvalueConverter)
78
79
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
79
80
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -83,17 +84,23 @@ module Aws::SQS
83
84
  add_plugin(Aws::Plugins::RequestCompression)
84
85
  add_plugin(Aws::Plugins::DefaultsMode)
85
86
  add_plugin(Aws::Plugins::RecursionDetection)
87
+ add_plugin(Aws::Plugins::Telemetry)
86
88
  add_plugin(Aws::Plugins::Sign)
87
- add_plugin(Aws::Plugins::Protocols::Query)
89
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
88
90
  add_plugin(Aws::SQS::Plugins::QueueUrls)
89
91
  add_plugin(Aws::SQS::Plugins::Md5s)
90
92
  add_plugin(Aws::SQS::Plugins::Endpoints)
91
93
 
92
94
  # @overload initialize(options)
93
95
  # @param [Hash] options
96
+ #
97
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
98
+ # A list of plugins to apply to the client. Each plugin is either a
99
+ # class name or an instance of a plugin class.
100
+ #
94
101
  # @option options [required, Aws::CredentialProvider] :credentials
95
- # Your AWS credentials. This can be an instance of any one of the
96
- # 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:
97
104
  #
98
105
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
99
106
  # credentials.
@@ -121,20 +128,24 @@ module Aws::SQS
121
128
  # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
122
129
  # from the Cognito Identity service.
123
130
  #
124
- # When `:credentials` are not configured directly, the following
125
- # locations will be searched for credentials:
131
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
126
132
  #
127
133
  # * `Aws.config[:credentials]`
128
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
129
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
134
+ #
135
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
136
+ # `:account_id` options.
137
+ #
138
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
139
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
140
+ #
130
141
  # * `~/.aws/credentials`
142
+ #
131
143
  # * `~/.aws/config`
132
- # * EC2/ECS IMDS instance profile - When used by default, the timeouts
133
- # are very aggressive. Construct and pass an instance of
134
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
135
- # enable retries and extended timeouts. Instance profile credential
136
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
137
- # 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`.
138
149
  #
139
150
  # @option options [required, String] :region
140
151
  # The AWS region to connect to. The configured `:region` is
@@ -150,6 +161,8 @@ module Aws::SQS
150
161
  #
151
162
  # @option options [String] :access_key_id
152
163
  #
164
+ # @option options [String] :account_id
165
+ #
153
166
  # @option options [Boolean] :active_endpoint_cache (false)
154
167
  # When set to `true`, a thread polling for endpoints will be running in
155
168
  # the background every 60 secs (default). Defaults to `false`.
@@ -160,6 +173,11 @@ module Aws::SQS
160
173
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
161
174
  # not retry instead of sleeping.
162
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
+ #
163
181
  # @option options [Boolean] :client_side_monitoring (false)
164
182
  # When `true`, client-side metrics will be collected for all API requests from
165
183
  # this client.
@@ -193,17 +211,22 @@ module Aws::SQS
193
211
  # accepted modes and the configuration defaults that are included.
194
212
  #
195
213
  # @option options [Boolean] :disable_host_prefix_injection (false)
196
- # Set to true to disable SDK automatically adding host prefix
197
- # to default service endpoint when available.
214
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
198
215
  #
199
216
  # @option options [Boolean] :disable_request_compression (false)
200
217
  # When set to 'true' the request body will not be compressed
201
218
  # for supported operations.
202
219
  #
203
- # @option options [String] :endpoint
204
- # The client endpoint is normally constructed from the `:region`
205
- # option. You should only configure an `:endpoint` when connecting
206
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
220
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
221
+ # Normally you should not configure the `:endpoint` option
222
+ # directly. This is normally constructed from the `:region`
223
+ # option. Configuring `:endpoint` is normally reserved for
224
+ # connecting to test or custom endpoints. The endpoint should
225
+ # be a URI formatted like:
226
+ #
227
+ # 'http://example.com'
228
+ # 'https://example.com'
229
+ # 'http://example.com:123'
207
230
  #
208
231
  # @option options [Integer] :endpoint_cache_max_entries (1000)
209
232
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -241,14 +264,37 @@ module Aws::SQS
241
264
  # 4 times. Used in `standard` and `adaptive` retry modes.
242
265
  #
243
266
  # @option options [String] :profile ("default")
244
- # Used when loading credentials from the shared credentials file
245
- # 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.
246
281
  #
247
282
  # @option options [Integer] :request_min_compression_size_bytes (10240)
248
283
  # The minimum size in bytes that triggers compression for request
249
284
  # bodies. The value must be non-negative integer value between 0
250
285
  # and 10485780 bytes inclusive.
251
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
+ #
252
298
  # @option options [Proc] :retry_backoff
253
299
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
254
300
  # This option is only used in the `legacy` retry mode.
@@ -293,16 +339,32 @@ module Aws::SQS
293
339
  # throttling. This is a provisional mode that may change behavior
294
340
  # in the future.
295
341
  #
296
- #
297
342
  # @option options [String] :sdk_ua_app_id
298
343
  # A unique and opaque application ID that is appended to the
299
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
300
- # maximum length of 50.
344
+ # User-Agent header as app/sdk_ua_app_id. It should have a
345
+ # maximum length of 50. This variable is sourced from environment
346
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
301
347
  #
302
348
  # @option options [String] :secret_access_key
303
349
  #
304
350
  # @option options [String] :session_token
305
351
  #
352
+ # @option options [Array] :sigv4a_signing_region_set
353
+ # A list of regions that should be signed with SigV4a signing. When
354
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
355
+ # in the following locations:
356
+ #
357
+ # * `Aws.config[:sigv4a_signing_region_set]`
358
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
359
+ # * `~/.aws/config`
360
+ #
361
+ # @option options [Boolean] :simple_json (false)
362
+ # Disables request parameter conversion, validation, and formatting.
363
+ # Also disables response data type conversions. The request parameters
364
+ # hash must be formatted exactly as the API expects.This option is useful
365
+ # when you want to ensure the highest level of performance by avoiding
366
+ # overhead of walking request parameters and response data structures.
367
+ #
306
368
  # @option options [Boolean] :stub_responses (false)
307
369
  # Causes the client to return stubbed responses. By default
308
370
  # fake responses are generated and returned. You can specify
@@ -312,9 +374,19 @@ module Aws::SQS
312
374
  # ** Please note ** When response stubbing is enabled, no HTTP
313
375
  # requests are made, and retries are disabled.
314
376
  #
377
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
378
+ # Allows you to provide a telemetry provider, which is used to
379
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
380
+ # will not record or emit any telemetry data. The SDK supports the
381
+ # following telemetry providers:
382
+ #
383
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
384
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
385
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
386
+ #
315
387
  # @option options [Aws::TokenProvider] :token_provider
316
- # A Bearer Token Provider. This can be an instance of any one of the
317
- # 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:
318
390
  #
319
391
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
320
392
  # tokens.
@@ -345,52 +417,75 @@ module Aws::SQS
345
417
  # not match.
346
418
  #
347
419
  # @option options [Aws::SQS::EndpointProvider] :endpoint_provider
348
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SQS::EndpointParameters`
349
- #
350
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
351
- # requests through. Formatted like 'http://proxy.com:123'.
352
- #
353
- # @option options [Float] :http_open_timeout (15) The number of
354
- # seconds to wait when opening a HTTP session before raising a
355
- # `Timeout::Error`.
356
- #
357
- # @option options [Float] :http_read_timeout (60) The default
358
- # number of seconds to wait for response data. This value can
359
- # safely be set per-request on the session.
360
- #
361
- # @option options [Float] :http_idle_timeout (5) The number of
362
- # seconds a connection is allowed to sit idle before it is
363
- # considered stale. Stale connections are closed and removed
364
- # from the pool before making a request.
420
+ # The endpoint provider used to resolve endpoints. Any object that responds to
421
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
422
+ # `Aws::SQS::EndpointParameters`.
423
+ #
424
+ # @option options [Float] :http_continue_timeout (1)
425
+ # The number of seconds to wait for a 100-continue response before sending the
426
+ # request body. This option has no effect unless the request has "Expect"
427
+ # header set to "100-continue". Defaults to `nil` which disables this
428
+ # behaviour. This value can safely be set per request on the session.
429
+ #
430
+ # @option options [Float] :http_idle_timeout (5)
431
+ # The number of seconds a connection is allowed to sit idle before it
432
+ # is considered stale. Stale connections are closed and removed from the
433
+ # pool before making a request.
434
+ #
435
+ # @option options [Float] :http_open_timeout (15)
436
+ # The default number of seconds to wait for response data.
437
+ # This value can safely be set per-request on the session.
438
+ #
439
+ # @option options [URI::HTTP,String] :http_proxy
440
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
441
+ #
442
+ # @option options [Float] :http_read_timeout (60)
443
+ # The default number of seconds to wait for response data.
444
+ # This value can safely be set per-request on the session.
445
+ #
446
+ # @option options [Boolean] :http_wire_trace (false)
447
+ # When `true`, HTTP debug output will be sent to the `:logger`.
448
+ #
449
+ # @option options [Proc] :on_chunk_received
450
+ # When a Proc object is provided, it will be used as callback when each chunk
451
+ # of the response body is received. It provides three arguments: the chunk,
452
+ # the number of bytes received, and the total number of
453
+ # bytes in the response (or nil if the server did not send a `content-length`).
454
+ #
455
+ # @option options [Proc] :on_chunk_sent
456
+ # When a Proc object is provided, it will be used as callback when each chunk
457
+ # of the request body is sent. It provides three arguments: the chunk,
458
+ # the number of bytes read from the body, and the total number of
459
+ # bytes in the body.
460
+ #
461
+ # @option options [Boolean] :raise_response_errors (true)
462
+ # When `true`, response errors are raised.
463
+ #
464
+ # @option options [String] :ssl_ca_bundle
465
+ # Full path to the SSL certificate authority bundle file that should be used when
466
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
467
+ # `:ssl_ca_directory` the the system default will be used if available.
468
+ #
469
+ # @option options [String] :ssl_ca_directory
470
+ # Full path of the directory that contains the unbundled SSL certificate
471
+ # authority files for verifying peer certificates. If you do
472
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
473
+ # default will be used if available.
365
474
  #
366
- # @option options [Float] :http_continue_timeout (1) The number of
367
- # seconds to wait for a 100-continue response before sending the
368
- # request body. This option has no effect unless the request has
369
- # "Expect" header set to "100-continue". Defaults to `nil` which
370
- # disables this behaviour. This value can safely be set per
371
- # request on the session.
475
+ # @option options [String] :ssl_ca_store
476
+ # Sets the X509::Store to verify peer certificate.
372
477
  #
373
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
- # in seconds.
478
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
479
+ # Sets a client certificate when creating http connections.
375
480
  #
376
- # @option options [Boolean] :http_wire_trace (false) When `true`,
377
- # HTTP debug output will be sent to the `:logger`.
481
+ # @option options [OpenSSL::PKey] :ssl_key
482
+ # Sets a client key when creating http connections.
378
483
  #
379
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
380
- # SSL peer certificates are verified when establishing a
381
- # connection.
484
+ # @option options [Float] :ssl_timeout
485
+ # Sets the SSL timeout in seconds
382
486
  #
383
- # @option options [String] :ssl_ca_bundle Full path to the SSL
384
- # certificate authority bundle file that should be used when
385
- # verifying peer certificates. If you do not pass
386
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
387
- # will be used if available.
388
- #
389
- # @option options [String] :ssl_ca_directory Full path of the
390
- # directory that contains the unbundled SSL certificate
391
- # authority files for verifying peer certificates. If you do
392
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
393
- # system default will be used if available.
487
+ # @option options [Boolean] :ssl_verify_peer (true)
488
+ # When `true`, SSL peer certificates are verified when establishing a connection.
394
489
  #
395
490
  def initialize(*args)
396
491
  super
@@ -508,8 +603,6 @@ module Aws::SQS
508
603
  # can be the original source queue (from which the messages were
509
604
  # driven to the dead-letter-queue), or a custom destination queue.
510
605
  #
511
- # * Currently, only standard queues are supported.
512
- #
513
606
  # * Only one active message movement task is supported per queue at any
514
607
  # given time.
515
608
  #
@@ -588,7 +681,7 @@ module Aws::SQS
588
681
  # increase the number of queues you use to process your messages. To
589
682
  # request a limit increase, [file a support request][2].
590
683
  #
591
- # 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
592
685
  # (received from a queue by a consumer, but not yet deleted from the
593
686
  # queue). If you reach this limit, Amazon SQS returns no error messages.
594
687
  #
@@ -711,7 +804,7 @@ module Aws::SQS
711
804
  # convert an existing standard queue into a FIFO queue. You must
712
805
  # either create a new FIFO queue for your application or delete your
713
806
  # existing standard queue and recreate it as a FIFO queue. For more
714
- # 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]
715
808
  # in the *Amazon SQS Developer Guide*.
716
809
  #
717
810
  # </note>
@@ -731,20 +824,24 @@ module Aws::SQS
731
824
  #
732
825
  # </note>
733
826
  #
734
- # To get the queue URL, use the ` GetQueueUrl ` action. ` GetQueueUrl `
735
- # requires only the `QueueName` parameter. be aware of existing queue
736
- # 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:
737
831
  #
738
- # * If you provide the name of an existing queue along with the exact
739
- # names and values of all the queue's attributes, `CreateQueue`
740
- # 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.
741
836
  #
742
- # * If the queue name, attribute names, or attribute values don't match
743
- # 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.
744
841
  #
745
842
  # <note markdown="1"> Cross-account permissions don't apply to this action. For more
746
843
  # information, see [Grant cross-account permissions to a role and a
747
- # username][3] in the *Amazon SQS Developer Guide*.
844
+ # username][6] in the *Amazon SQS Developer Guide*.
748
845
  #
749
846
  # </note>
750
847
  #
@@ -752,7 +849,10 @@ module Aws::SQS
752
849
  #
753
850
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-moving
754
851
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html
755
- # [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
756
856
  #
757
857
  # @option params [required, String] :queue_name
758
858
  # The name of the new queue. The following limits apply to this name:
@@ -778,8 +878,8 @@ module Aws::SQS
778
878
  #
779
879
  # * `MaximumMessageSize` – The limit of how many bytes a message can
780
880
  # contain before Amazon SQS rejects it. Valid values: An integer from
781
- # 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144
782
- # (256 KiB).
881
+ # 1,024 bytes (1 KiB) to 1,048,576 bytes (1 MiB). Default: 1,048,576
882
+ # bytes (1 MiB).
783
883
  #
784
884
  # * `MessageRetentionPeriod` – The length of time, in seconds, for which
785
885
  # Amazon SQS retains a message. Valid values: An integer from 60
@@ -820,7 +920,6 @@ module Aws::SQS
820
920
  # Default: 10. When the `ReceiveCount` for a message exceeds the
821
921
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
822
922
  # dead-letter-queue.
823
- #
824
923
  # * `RedriveAllowPolicy` – The string that includes the parameters for
825
924
  # the permissions for the dead-letter queue redrive permission and
826
925
  # which source queues can specify dead-letter queues as a JSON object.
@@ -839,7 +938,6 @@ module Aws::SQS
839
938
  #
840
939
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
841
940
  # parameter can specify this queue as the dead-letter queue.
842
- #
843
941
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
844
942
  # queues that can specify this queue as the dead-letter queue and
845
943
  # redrive messages. You can specify this parameter only when the
@@ -911,7 +1009,6 @@ module Aws::SQS
911
1009
  #
912
1010
  # * If the queue has `ContentBasedDeduplication` set, your
913
1011
  # `MessageDeduplicationId` overrides the generated one.
914
- #
915
1012
  # * When `ContentBasedDeduplication` is in effect, messages with
916
1013
  # identical content sent within the deduplication interval are
917
1014
  # treated as duplicates and only one copy of the message is
@@ -1039,12 +1136,14 @@ module Aws::SQS
1039
1136
  # automatically deletes messages left in a queue longer than the
1040
1137
  # retention period configured for the queue.
1041
1138
  #
1042
- # <note markdown="1"> The `ReceiptHandle` is associated with a *specific instance* of
1043
- # receiving a message. If you receive a message more than once, the
1044
- # `ReceiptHandle` is different each time you receive a message. When you
1045
- # use the `DeleteMessage` action, you must provide the most recently
1046
- # received `ReceiptHandle` for the message (otherwise, the request
1047
- # 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.
1048
1147
  #
1049
1148
  # For standard queues, it is possible to receive a message even after
1050
1149
  # you delete it. This might happen on rare occasions if one of the
@@ -1284,7 +1383,6 @@ module Aws::SQS
1284
1383
  # Default: 10. When the `ReceiveCount` for a message exceeds the
1285
1384
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
1286
1385
  # dead-letter-queue.
1287
- #
1288
1386
  # * `RedriveAllowPolicy` – The string that includes the parameters for
1289
1387
  # the permissions for the dead-letter queue redrive permission and
1290
1388
  # which source queues can specify dead-letter queues as a JSON object.
@@ -1303,7 +1401,6 @@ module Aws::SQS
1303
1401
  #
1304
1402
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
1305
1403
  # parameter can specify this queue as the dead-letter queue.
1306
- #
1307
1404
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
1308
1405
  # queues that can specify this queue as the dead-letter queue and
1309
1406
  # redrive messages. You can specify this parameter only when the
@@ -1417,29 +1514,32 @@ module Aws::SQS
1417
1514
  req.send_request(options)
1418
1515
  end
1419
1516
 
1420
- # Returns the URL of an existing Amazon SQS queue.
1421
- #
1422
- # To access a queue that belongs to another AWS account, use the
1423
- # `QueueOwnerAWSAccountId` parameter to specify the account ID of the
1424
- # queue's owner. The queue's owner must grant you permission to access
1425
- # the queue. For more information about shared queue access, see `
1426
- # AddPermission ` or see [Allow Developers to Write Messages to a Shared
1427
- # 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*.
1428
1528
  #
1429
1529
  #
1430
1530
  #
1431
1531
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-writing-an-sqs-policy.html#write-messages-to-shared-queue
1432
1532
  #
1433
1533
  # @option params [required, String] :queue_name
1434
- # The name of the queue whose URL must be fetched. Maximum 80
1435
- # characters. Valid values: alphanumeric characters, hyphens (`-`), and
1436
- # underscores (`_`).
1437
- #
1438
- # 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.
1439
1538
  #
1440
1539
  # @option params [String] :queue_owner_aws_account_id
1441
- # The Amazon Web Services account ID of the account that created the
1442
- # 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.
1443
1543
  #
1444
1544
  # @return [Types::GetQueueUrlResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1445
1545
  #
@@ -1536,8 +1636,6 @@ module Aws::SQS
1536
1636
  # can be the original source queue (from which the messages were
1537
1637
  # driven to the dead-letter-queue), or a custom destination queue.
1538
1638
  #
1539
- # * Currently, only standard queues are supported.
1540
- #
1541
1639
  # * Only one active message movement task is supported per queue at any
1542
1640
  # given time.
1543
1641
  #
@@ -1741,7 +1839,7 @@ module Aws::SQS
1741
1839
  # Developer Guide*.
1742
1840
  #
1743
1841
  # Short poll is the default behavior where a weighted random set of
1744
- # machines is sampled on a `ReceiveMessage` call. Thus, only the
1842
+ # machines is sampled on a `ReceiveMessage` call. Therefore, only the
1745
1843
  # messages on the sampled machines are returned. If the number of
1746
1844
  # messages in the queue is small (fewer than 1,000), you most likely get
1747
1845
  # fewer messages than you requested per `ReceiveMessage` call. If the
@@ -1771,14 +1869,8 @@ module Aws::SQS
1771
1869
  # You can provide the `VisibilityTimeout` parameter in your request. The
1772
1870
  # parameter is applied to the messages that Amazon SQS returns in the
1773
1871
  # response. If you don't include the parameter, the overall visibility
1774
- # timeout for the queue is used for the returned messages. For more
1775
- # information, see [Visibility Timeout][4] in the *Amazon SQS Developer
1776
- # Guide*.
1777
- #
1778
- # A message that isn't deleted or a message whose visibility isn't
1779
- # extended before the visibility timeout expires counts as a failed
1780
- # receive. Depending on the configuration of the queue, the message
1781
- # 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.
1782
1874
  #
1783
1875
  # <note markdown="1"> In the future, new attributes might be added. If you write code that
1784
1876
  # calls this action, we recommend that you structure your code so that
@@ -1791,7 +1883,6 @@ module Aws::SQS
1791
1883
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html
1792
1884
  # [2]: https://www.ietf.org/rfc/rfc1321.txt
1793
1885
  # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html
1794
- # [4]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
1795
1886
  #
1796
1887
  # @option params [required, String] :queue_url
1797
1888
  # The URL of the Amazon SQS queue from which messages are received.
@@ -1799,6 +1890,10 @@ module Aws::SQS
1799
1890
  # Queue URLs and names are case-sensitive.
1800
1891
  #
1801
1892
  # @option params [Array<String>] :attribute_names
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`.
1896
+ #
1802
1897
  # A list of attributes that need to be returned along with each message.
1803
1898
  # These attributes include:
1804
1899
  #
@@ -1819,7 +1914,48 @@ module Aws::SQS
1819
1914
  #
1820
1915
  # * For an IAM role, returns the IAM role ID, for example
1821
1916
  # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1917
+ # * `SentTimestamp` – Returns the time the message was sent to the queue
1918
+ # ([epoch time][1] in milliseconds).
1919
+ #
1920
+ # * `SqsManagedSseEnabled` – Enables server-side queue encryption using
1921
+ # SQS owned encryption keys. Only one server-side encryption option is
1922
+ # supported per queue (for example, [SSE-KMS][2] or [SSE-SQS][3]).
1822
1923
  #
1924
+ # * `MessageDeduplicationId` – Returns the value provided by the
1925
+ # producer that calls the ` SendMessage ` action.
1926
+ #
1927
+ # * `MessageGroupId` – Returns the value provided by the producer that
1928
+ # calls the ` SendMessage ` action.
1929
+ #
1930
+ # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1931
+ #
1932
+ #
1933
+ #
1934
+ # [1]: http://en.wikipedia.org/wiki/Unix_time
1935
+ # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html
1936
+ # [3]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html
1937
+ #
1938
+ # @option params [Array<String>] :message_system_attribute_names
1939
+ # A list of attributes that need to be returned along with each message.
1940
+ # These attributes include:
1941
+ #
1942
+ # * `All` – Returns all values.
1943
+ #
1944
+ # * `ApproximateFirstReceiveTimestamp` – Returns the time the message
1945
+ # was first received from the queue ([epoch time][1] in milliseconds).
1946
+ #
1947
+ # * `ApproximateReceiveCount` – Returns the number of times a message
1948
+ # has been received across all queues but not deleted.
1949
+ #
1950
+ # * `AWSTraceHeader` – Returns the X-Ray trace header string.
1951
+ #
1952
+ # * `SenderId`
1953
+ #
1954
+ # * For a user, returns the user ID, for example
1955
+ # `ABCDEFGHI1JKLMNOPQ23R`.
1956
+ #
1957
+ # * For an IAM role, returns the IAM role ID, for example
1958
+ # `ABCDE1F2GH3I4JK5LMNOP:i-a123b456`.
1823
1959
  # * `SentTimestamp` – Returns the time the message was sent to the queue
1824
1960
  # ([epoch time][1] in milliseconds).
1825
1961
  #
@@ -1831,8 +1967,7 @@ module Aws::SQS
1831
1967
  # producer that calls the ` SendMessage ` action.
1832
1968
  #
1833
1969
  # * `MessageGroupId` – Returns the value provided by the producer that
1834
- # calls the ` SendMessage ` action. Messages with the same
1835
- # `MessageGroupId` are returned in sequence.
1970
+ # calls the ` SendMessage ` action.
1836
1971
  #
1837
1972
  # * `SequenceNumber` – Returns the value provided by Amazon SQS.
1838
1973
  #
@@ -1872,14 +2007,47 @@ module Aws::SQS
1872
2007
  # @option params [Integer] :visibility_timeout
1873
2008
  # The duration (in seconds) that the received messages are hidden from
1874
2009
  # subsequent retrieve requests after being retrieved by a
1875
- # `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
1876
2042
  #
1877
2043
  # @option params [Integer] :wait_time_seconds
1878
2044
  # The duration (in seconds) for which the call waits for a message to
1879
2045
  # arrive in the queue before returning. If a message is available, the
1880
2046
  # call returns sooner than `WaitTimeSeconds`. If no messages are
1881
- # available and the wait time expires, the call returns successfully
1882
- # with an empty list of messages.
2047
+ # available and the wait time expires, the call does not return a
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.
1883
2051
  #
1884
2052
  # To avoid HTTP errors, ensure that the HTTP response timeout for
1885
2053
  # `ReceiveMessage` requests is longer than the `WaitTimeSeconds`
@@ -1908,10 +2076,6 @@ module Aws::SQS
1908
2076
  # * When you set `FifoQueue`, a caller of the `ReceiveMessage` action
1909
2077
  # can provide a `ReceiveRequestAttemptId` explicitly.
1910
2078
  #
1911
- # * If a caller of the `ReceiveMessage` action doesn't provide a
1912
- # `ReceiveRequestAttemptId`, Amazon SQS generates a
1913
- # `ReceiveRequestAttemptId`.
1914
- #
1915
2079
  # * It is possible to retry the `ReceiveMessage` action with the same
1916
2080
  # `ReceiveRequestAttemptId` if none of the messages have been modified
1917
2081
  # (deleted or had their visibility changes).
@@ -1936,7 +2100,8 @@ module Aws::SQS
1936
2100
  # * While messages with a particular `MessageGroupId` are invisible, no
1937
2101
  # more messages belonging to the same `MessageGroupId` are returned
1938
2102
  # until the visibility timeout expires. You can still receive messages
1939
- # 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.
1940
2105
  #
1941
2106
  # * If a caller of `ReceiveMessage` can't track the
1942
2107
  # `ReceiveRequestAttemptId`, no retries work until the original
@@ -1945,7 +2110,7 @@ module Aws::SQS
1945
2110
  #
1946
2111
  # The maximum length of `ReceiveRequestAttemptId` is 128 characters.
1947
2112
  # `ReceiveRequestAttemptId` can contain alphanumeric characters (`a-z`,
1948
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2113
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
1949
2114
  # ``).
1950
2115
  #
1951
2116
  # For best practices of using `ReceiveRequestAttemptId`, see [Using the
@@ -1966,6 +2131,7 @@ module Aws::SQS
1966
2131
  # resp = client.receive_message({
1967
2132
  # queue_url: "String", # required
1968
2133
  # attribute_names: ["All"], # accepts All, Policy, VisibilityTimeout, MaximumMessageSize, MessageRetentionPeriod, ApproximateNumberOfMessages, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, QueueArn, ApproximateNumberOfMessagesDelayed, DelaySeconds, ReceiveMessageWaitTimeSeconds, RedrivePolicy, FifoQueue, ContentBasedDeduplication, KmsMasterKeyId, KmsDataKeyReusePeriodSeconds, DeduplicationScope, FifoThroughputLimit, RedriveAllowPolicy, SqsManagedSseEnabled
2134
+ # message_system_attribute_names: ["All"], # accepts All, SenderId, SentTimestamp, ApproximateReceiveCount, ApproximateFirstReceiveTimestamp, SequenceNumber, MessageDeduplicationId, MessageGroupId, AWSTraceHeader, DeadLetterQueueSourceArn
1969
2135
  # message_attribute_names: ["MessageAttributeName"],
1970
2136
  # max_number_of_messages: 1,
1971
2137
  # visibility_timeout: 1,
@@ -2050,13 +2216,16 @@ module Aws::SQS
2050
2216
  # Delivers a message to the specified queue.
2051
2217
  #
2052
2218
  # A message can include only XML, JSON, and unformatted text. The
2053
- # following Unicode characters are allowed:
2219
+ # following Unicode characters are allowed. For more information, see
2220
+ # the [W3C specification for characters][1].
2054
2221
  #
2055
2222
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2056
2223
  # \| `#x10000` to `#x10FFFF`
2057
2224
  #
2058
- # Any characters not included in this list will be rejected. For more
2059
- # information, see the [W3C specification for characters][1].
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.
2060
2229
  #
2061
2230
  #
2062
2231
  #
@@ -2069,16 +2238,19 @@ module Aws::SQS
2069
2238
  #
2070
2239
  # @option params [required, String] :message_body
2071
2240
  # The message to send. The minimum size is one character. The maximum
2072
- # size is 256 KiB.
2241
+ # size is 1 MiB or 1,048,576 bytes
2073
2242
  #
2074
2243
  # A message can include only XML, JSON, and unformatted text. The
2075
- # following Unicode characters are allowed:
2244
+ # following Unicode characters are allowed. For more information, see
2245
+ # the [W3C specification for characters][1].
2076
2246
  #
2077
2247
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2078
2248
  # \| `#x10000` to `#x10FFFF`
2079
2249
  #
2080
- # Any characters not included in this list will be rejected. For more
2081
- # information, see the [W3C specification for characters][1].
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.
2082
2254
  #
2083
2255
  #
2084
2256
  #
@@ -2141,7 +2313,6 @@ module Aws::SQS
2141
2313
  #
2142
2314
  # * If the queue has `ContentBasedDeduplication` set, your
2143
2315
  # `MessageDeduplicationId` overrides the generated one.
2144
- #
2145
2316
  # * When `ContentBasedDeduplication` is in effect, messages with
2146
2317
  # identical content sent within the deduplication interval are treated
2147
2318
  # as duplicates and only one copy of the message is delivered.
@@ -2166,7 +2337,7 @@ module Aws::SQS
2166
2337
  #
2167
2338
  # The maximum length of `MessageDeduplicationId` is 128 characters.
2168
2339
  # `MessageDeduplicationId` can contain alphanumeric characters (`a-z`,
2169
- # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~
2340
+ # `A-Z`, `0-9`) and punctuation (`` !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
2170
2341
  # ``).
2171
2342
  #
2172
2343
  # For best practices of using `MessageDeduplicationId`, see [Using the
@@ -2179,34 +2350,54 @@ module Aws::SQS
2179
2350
  # [2]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html
2180
2351
  #
2181
2352
  # @option params [String] :message_group_id
2182
- # This parameter applies only to FIFO (first-in-first-out) queues.
2183
- #
2184
- # The tag that specifies that a message belongs to a specific message
2185
- # group. Messages that belong to the same message group are processed in
2186
- # a FIFO manner (however, messages in different message groups might be
2187
- # processed out of order). To interleave multiple ordered streams within
2188
- # a single queue, use `MessageGroupId` values (for example, session data
2189
- # for multiple users). In this scenario, multiple consumers can process
2190
- # the queue, but the session data of each user is processed in a FIFO
2191
- # fashion.
2192
- #
2193
- # * You must associate a non-empty `MessageGroupId` with a message. If
2194
- # you don't provide a `MessageGroupId`, the action fails.
2195
- #
2196
- # * `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
2197
2379
  # `MessageGroupId` values. For each `MessageGroupId`, the messages are
2198
- # sorted by time sent. The caller can't specify a `MessageGroupId`.
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.
2199
2393
  #
2200
2394
  # The length of `MessageGroupId` is 128 characters. Valid values:
2201
2395
  # alphanumeric characters and punctuation ``
2202
- # (!"#$%&'()*+,-./:;<=>?@[\]^_`\{|\}~) ``.
2396
+ # (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~) ``.
2203
2397
  #
2204
2398
  # For best practices of using `MessageGroupId`, see [Using the
2205
2399
  # MessageGroupId Property][1] in the *Amazon SQS Developer Guide*.
2206
2400
  #
2207
- # `MessageGroupId` is required for FIFO queues. You can't use it for
2208
- # Standard queues.
2209
- #
2210
2401
  #
2211
2402
  #
2212
2403
  # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html
@@ -2277,16 +2468,19 @@ module Aws::SQS
2277
2468
  #
2278
2469
  # The maximum allowed individual message size and the maximum total
2279
2470
  # payload size (the sum of the individual lengths of all of the batched
2280
- # messages) are both 256 KiB (262,144 bytes).
2471
+ # messages) are both 1 MiB 1,048,576 bytes.
2281
2472
  #
2282
2473
  # A message can include only XML, JSON, and unformatted text. The
2283
- # following Unicode characters are allowed:
2474
+ # following Unicode characters are allowed. For more information, see
2475
+ # the [W3C specification for characters][1].
2284
2476
  #
2285
2477
  # `#x9` \| `#xA` \| `#xD` \| `#x20` to `#xD7FF` \| `#xE000` to `#xFFFD`
2286
2478
  # \| `#x10000` to `#x10FFFF`
2287
2479
  #
2288
- # Any characters not included in this list will be rejected. For more
2289
- # information, see the [W3C specification for characters][1].
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.
2290
2484
  #
2291
2485
  # If you don't specify the `DelaySeconds` parameter for an entry,
2292
2486
  # Amazon SQS uses the default value for the queue.
@@ -2365,13 +2559,14 @@ module Aws::SQS
2365
2559
  req.send_request(options)
2366
2560
  end
2367
2561
 
2368
- # Sets the value of one or more queue attributes. When you change a
2369
- # queue's attributes, the change can take up to 60 seconds for most of
2370
- # the attributes to propagate throughout the Amazon SQS system. Changes
2371
- # made to the `MessageRetentionPeriod` attribute can take up to 15
2372
- # minutes and will impact existing messages in the queue potentially
2373
- # causing them to be expired and deleted if the `MessageRetentionPeriod`
2374
- # is reduced below the age of existing messages.
2562
+ # Sets the value of one or more queue attributes, like a policy. When
2563
+ # you change a queue's attributes, the change can take up to 60 seconds
2564
+ # for most of the attributes to propagate throughout the Amazon SQS
2565
+ # system. Changes made to the `MessageRetentionPeriod` attribute can
2566
+ # take up to 15 minutes and will impact existing messages in the queue
2567
+ # potentially causing them to be expired and deleted if the
2568
+ # `MessageRetentionPeriod` is reduced below the age of existing
2569
+ # messages.
2375
2570
  #
2376
2571
  # <note markdown="1"> * In the future, new attributes might be added. If you write code that
2377
2572
  # calls this action, we recommend that you structure your code so that
@@ -2408,8 +2603,8 @@ module Aws::SQS
2408
2603
  #
2409
2604
  # * `MaximumMessageSize` – The limit of how many bytes a message can
2410
2605
  # contain before Amazon SQS rejects it. Valid values: An integer from
2411
- # 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144
2412
- # (256 KiB).
2606
+ # 1,024 bytes (1 KiB) up to 1,048,576 bytes (1 MiB). Default:
2607
+ # 1,048,576 bytes (1 MiB).
2413
2608
  #
2414
2609
  # * `MessageRetentionPeriod` – The length of time, in seconds, for which
2415
2610
  # Amazon SQS retains a message. Valid values: An integer representing
@@ -2451,7 +2646,6 @@ module Aws::SQS
2451
2646
  # Default: 10. When the `ReceiveCount` for a message exceeds the
2452
2647
  # `maxReceiveCount` for a queue, Amazon SQS moves the message to the
2453
2648
  # dead-letter-queue.
2454
- #
2455
2649
  # * `RedriveAllowPolicy` – The string that includes the parameters for
2456
2650
  # the permissions for the dead-letter queue redrive permission and
2457
2651
  # which source queues can specify dead-letter queues as a JSON object.
@@ -2470,7 +2664,6 @@ module Aws::SQS
2470
2664
  #
2471
2665
  # * `byQueue` – Only queues specified by the `sourceQueueArns`
2472
2666
  # parameter can specify this queue as the dead-letter queue.
2473
- #
2474
2667
  # * `sourceQueueArns` – The Amazon Resource Names (ARN)s of the source
2475
2668
  # queues that can specify this queue as the dead-letter queue and
2476
2669
  # redrive messages. You can specify this parameter only when the
@@ -2530,7 +2723,6 @@ module Aws::SQS
2530
2723
  #
2531
2724
  # * If the queue has `ContentBasedDeduplication` set, your
2532
2725
  # `MessageDeduplicationId` overrides the generated one.
2533
- #
2534
2726
  # * When `ContentBasedDeduplication` is in effect, messages with
2535
2727
  # identical content sent within the deduplication interval are
2536
2728
  # treated as duplicates and only one copy of the message is
@@ -2619,9 +2811,6 @@ module Aws::SQS
2619
2811
  # original source queue (from which the messages were driven to the
2620
2812
  # dead-letter-queue), or a custom destination queue.
2621
2813
  #
2622
- # * Currently, only standard queues support redrive. FIFO queues don't
2623
- # support redrive.
2624
- #
2625
2814
  # * Only one active message movement task is supported per queue at any
2626
2815
  # given time.
2627
2816
  #
@@ -2779,14 +2968,19 @@ module Aws::SQS
2779
2968
  # @api private
2780
2969
  def build_request(operation_name, params = {})
2781
2970
  handlers = @handlers.for(operation_name)
2971
+ tracer = config.telemetry_provider.tracer_provider.tracer(
2972
+ Aws::Telemetry.module_to_tracer_name('Aws::SQS')
2973
+ )
2782
2974
  context = Seahorse::Client::RequestContext.new(
2783
2975
  operation_name: operation_name,
2784
2976
  operation: config.api.operation(operation_name),
2785
2977
  client: self,
2786
2978
  params: params,
2787
- config: config)
2979
+ config: config,
2980
+ tracer: tracer
2981
+ )
2788
2982
  context[:gem_name] = 'aws-sdk-sqs'
2789
- context[:gem_version] = '1.65.0'
2983
+ context[:gem_version] = '1.107.0'
2790
2984
  Seahorse::Client::Request.new(handlers, context)
2791
2985
  end
2792
2986