Skip to content

Commit 8ffae4d

Browse files
Documentation updates for Amazon SQS fair queues feature.
1 parent e94b1a3 commit 8ffae4d

13 files changed

+272
-318
lines changed

generator/ServiceModels/sqs/sqs-2012-11-05.api.json

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
"version":"2.0",
33
"metadata":{
44
"apiVersion":"2012-11-05",
5-
"awsQueryCompatible":{
6-
},
5+
"awsQueryCompatible":{},
76
"endpointPrefix":"sqs",
87
"jsonVersion":"1.0",
98
"protocol":"json",
@@ -725,8 +724,7 @@
725724
},
726725
"InvalidIdFormat":{
727726
"type":"structure",
728-
"members":{
729-
},
727+
"members":{},
730728
"deprecated":true,
731729
"deprecatedMessage":"exception has been included in ReceiptHandleIsInvalid",
732730
"exception":true
@@ -930,8 +928,7 @@
930928
},
931929
"MessageNotInflight":{
932930
"type":"structure",
933-
"members":{
934-
},
931+
"members":{},
935932
"exception":true
936933
},
937934
"MessageSystemAttributeList":{

generator/ServiceModels/sqs/sqs-2012-11-05.docs.json

Lines changed: 75 additions & 140 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
22
"version": "1.0",
3-
"examples": {
4-
}
3+
"examples": {}
54
}

generator/ServiceModels/sqs/sqs-2012-11-05.normal.json

Lines changed: 13 additions & 16 deletions
Large diffs are not rendered by default.

sdk/src/Services/SQS/Generated/Model/CreateQueueRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ namespace Amazon.SQS.Model
4545
/// standard queue into a FIFO queue. You must either create a new FIFO queue for your
4646
/// application or delete your existing standard queue and recreate it as a FIFO queue.
4747
/// For more information, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-moving">Moving
48-
/// From a Standard Queue to a FIFO Queue</a> in the <i>Amazon SQS Developer Guide</i>.
48+
/// From a standard queue to a FIFO queue</a> in the <i>Amazon SQS Developer Guide</i>.
4949
///
5050
/// </para>
5151
/// </note> </li> <li>

sdk/src/Services/SQS/Generated/Model/ReceiveMessageRequest.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,7 @@ public ReceiveMessageRequest(string queueUrl)
181181
/// </li> <li>
182182
/// <para>
183183
/// <c>MessageGroupId</c> – Returns the value provided by the producer that calls the
184-
/// <c> <a>SendMessage</a> </c> action. Messages with the same <c>MessageGroupId</c> are
185-
/// returned in sequence.
184+
/// <c> <a>SendMessage</a> </c> action.
186185
/// </para>
187186
/// </li> <li>
188187
/// <para>
@@ -338,8 +337,7 @@ internal bool IsSetMessageAttributeNames()
338337
/// </li> <li>
339338
/// <para>
340339
/// <c>MessageGroupId</c> – Returns the value provided by the producer that calls the
341-
/// <c> <a>SendMessage</a> </c> action. Messages with the same <c>MessageGroupId</c> are
342-
/// returned in sequence.
340+
/// <c> <a>SendMessage</a> </c> action.
343341
/// </para>
344342
/// </li> <li>
345343
/// <para>
@@ -439,8 +437,8 @@ internal bool IsSetQueueUrl()
439437
/// <para>
440438
/// While messages with a particular <c>MessageGroupId</c> are invisible, no more messages
441439
/// belonging to the same <c>MessageGroupId</c> are returned until the visibility timeout
442-
/// expires. You can still receive messages with another <c>MessageGroupId</c> as long
443-
/// as it is also visible.
440+
/// expires. You can still receive messages with another <c>MessageGroupId</c> from your
441+
/// FIFO queue as long as they are visible.
444442
/// </para>
445443
/// </li> <li>
446444
/// <para>

sdk/src/Services/SQS/Generated/Model/SendMessageBatchRequest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ namespace Amazon.SQS.Model
6464
///
6565
/// <para>
6666
/// Amazon SQS does not throw an exception or completely reject the message if it contains
67-
/// invalid characters. Instead, it replaces those invalid characters with <c>U+FFFD</c>
68-
/// before storing the message in the queue, as long as the message body contains at least
69-
/// one valid character.
67+
/// invalid characters. Instead, it replaces those invalid characters with U+FFFD before
68+
/// storing the message in the queue, as long as the message body contains at least one
69+
/// valid character.
7070
/// </para>
7171
/// </important>
7272
/// <para>

sdk/src/Services/SQS/Generated/Model/SendMessageBatchRequestEntry.cs

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -251,27 +251,47 @@ internal bool IsSetMessageDeduplicationId()
251251
/// <summary>
252252
/// Gets and sets the property MessageGroupId.
253253
/// <para>
254-
/// This parameter applies only to FIFO (first-in-first-out) queues.
254+
/// <c>MessageGroupId</c> is an attribute used in Amazon SQS FIFO (First-In-First-Out)
255+
/// and standard queues. In FIFO queues, <c>MessageGroupId</c> organizes messages into
256+
/// distinct groups. Messages within the same message group are always processed one at
257+
/// a time, in strict order, ensuring that no two messages from the same group are processed
258+
/// simultaneously. In standard queues, using <c>MessageGroupId</c> enables fair queues.
259+
/// It is used to identify the tenant a message belongs to, helping maintain consistent
260+
/// message dwell time across all tenants during noisy neighbor events. Unlike FIFO queues,
261+
/// messages with the same <c>MessageGroupId</c> can be processed in parallel, maintaining
262+
/// the high throughput of standard queues.
263+
/// </para>
264+
/// <ul> <li>
265+
/// <para>
266+
/// <b>FIFO queues:</b> <c>MessageGroupId</c> acts as the tag that specifies that a message
267+
/// belongs to a specific message group. Messages that belong to the same message group
268+
/// are processed in a FIFO manner (however, messages in different message groups might
269+
/// be processed out of order). To interleave multiple ordered streams within a single
270+
/// queue, use <c>MessageGroupId</c> values (for example, session data for multiple users).
271+
/// In this scenario, multiple consumers can process the queue, but the session data of
272+
/// each user is processed in a FIFO fashion.
255273
/// </para>
256274
///
257275
/// <para>
258-
/// The tag that specifies that a message belongs to a specific message group. Messages
259-
/// that belong to the same message group are processed in a FIFO manner (however, messages
260-
/// in different message groups might be processed out of order). To interleave multiple
261-
/// ordered streams within a single queue, use <c>MessageGroupId</c> values (for example,
262-
/// session data for multiple users). In this scenario, multiple consumers can process
263-
/// the queue, but the session data of each user is processed in a FIFO fashion.
276+
/// If you do not provide a <c>MessageGroupId</c> when sending a message to a FIFO queue,
277+
/// the action fails.
264278
/// </para>
265-
/// <ul> <li>
279+
///
266280
/// <para>
267-
/// You must associate a non-empty <c>MessageGroupId</c> with a message. If you don't
268-
/// provide a <c>MessageGroupId</c>, the action fails.
281+
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
282+
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent.
269283
/// </para>
270284
/// </li> <li>
271285
/// <para>
272-
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
273-
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent. The caller can't
274-
/// specify a <c>MessageGroupId</c>.
286+
/// <b>Standard queues:</b>Use <c>MessageGroupId</c> in standard queues to enable fair
287+
/// queues. The <c>MessageGroupId</c> identifies the tenant a message belongs to. A tenant
288+
/// can be any entity that shares a queue with others, such as your customer, a client
289+
/// application, or a request type. When one tenant sends a disproportionately large volume
290+
/// of messages or has messages that require longer processing time, fair queues ensure
291+
/// other tenants' messages maintain low dwell time. This preserves quality of service
292+
/// for all tenants while maintaining the scalability and throughput of standard queues.
293+
/// We recommend that you include a <c>MessageGroupId</c> in all messages when using fair
294+
/// queues.
275295
/// </para>
276296
/// </li> </ul>
277297
/// <para>
@@ -283,12 +303,6 @@ internal bool IsSetMessageDeduplicationId()
283303
/// For best practices of using <c>MessageGroupId</c>, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html">Using
284304
/// the MessageGroupId Property</a> in the <i>Amazon SQS Developer Guide</i>.
285305
/// </para>
286-
/// <important>
287-
/// <para>
288-
/// <c>MessageGroupId</c> is required for FIFO queues. You can't use it for Standard
289-
/// queues.
290-
/// </para>
291-
/// </important>
292306
/// </summary>
293307
public string MessageGroupId
294308
{

sdk/src/Services/SQS/Generated/Model/SendMessageRequest.cs

Lines changed: 41 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ namespace Amazon.SQS.Model
4747
///
4848
/// <para>
4949
/// Amazon SQS does not throw an exception or completely reject the message if it contains
50-
/// invalid characters. Instead, it replaces those invalid characters with <c>U+FFFD</c>
51-
/// before storing the message in the queue, as long as the message body contains at least
52-
/// one valid character.
50+
/// invalid characters. Instead, it replaces those invalid characters with U+FFFD before
51+
/// storing the message in the queue, as long as the message body contains at least one
52+
/// valid character.
5353
/// </para>
5454
/// </important>
5555
/// </summary>
@@ -72,7 +72,7 @@ public SendMessageRequest() { }
7272
/// Instantiates SendMessageRequest with the parameterized properties
7373
/// </summary>
7474
/// <param name="queueUrl">The URL of the Amazon SQS queue to which a message is sent. Queue URLs and names are case-sensitive.</param>
75-
/// <param name="messageBody">The message to send. The minimum size is one character. The maximum size is 256 KiB. <important> A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed. For more information, see the <a href="http://www.w3.org/TR/REC-xml/#charsets">W3C specification for characters</a>. <c>#x9</c> | <c>#xA</c> | <c>#xD</c> | <c>#x20</c> to <c>#xD7FF</c> | <c>#xE000</c> to <c>#xFFFD</c> | <c>#x10000</c> to <c>#x10FFFF</c> Amazon SQS does not throw an exception or completely reject the message if it contains invalid characters. Instead, it replaces those invalid characters with <c>U+FFFD</c> before storing the message in the queue, as long as the message body contains at least one valid character. </important></param>
75+
/// <param name="messageBody">The message to send. The minimum size is one character. The maximum size is 256 KiB. <important> A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed. For more information, see the <a href="http://www.w3.org/TR/REC-xml/#charsets">W3C specification for characters</a>. <c>#x9</c> | <c>#xA</c> | <c>#xD</c> | <c>#x20</c> to <c>#xD7FF</c> | <c>#xE000</c> to <c>#xFFFD</c> | <c>#x10000</c> to <c>#x10FFFF</c> Amazon SQS does not throw an exception or completely reject the message if it contains invalid characters. Instead, it replaces those invalid characters with U+FFFD before storing the message in the queue, as long as the message body contains at least one valid character. </important></param>
7676
public SendMessageRequest(string queueUrl, string messageBody)
7777
{
7878
_queueUrl = queueUrl;
@@ -150,9 +150,9 @@ internal bool IsSetMessageAttributes()
150150
///
151151
/// <para>
152152
/// Amazon SQS does not throw an exception or completely reject the message if it contains
153-
/// invalid characters. Instead, it replaces those invalid characters with <c>U+FFFD</c>
154-
/// before storing the message in the queue, as long as the message body contains at least
155-
/// one valid character.
153+
/// invalid characters. Instead, it replaces those invalid characters with U+FFFD before
154+
/// storing the message in the queue, as long as the message body contains at least one
155+
/// valid character.
156156
/// </para>
157157
/// </important>
158158
/// </summary>
@@ -262,44 +262,58 @@ internal bool IsSetMessageDeduplicationId()
262262
/// <summary>
263263
/// Gets and sets the property MessageGroupId.
264264
/// <para>
265-
/// This parameter applies only to FIFO (first-in-first-out) queues.
265+
/// <c>MessageGroupId</c> is an attribute used in Amazon SQS FIFO (First-In-First-Out)
266+
/// and standard queues. In FIFO queues, <c>MessageGroupId</c> organizes messages into
267+
/// distinct groups. Messages within the same message group are always processed one at
268+
/// a time, in strict order, ensuring that no two messages from the same group are processed
269+
/// simultaneously. In standard queues, using <c>MessageGroupId</c> enables fair queues.
270+
/// It is used to identify the tenant a message belongs to, helping maintain consistent
271+
/// message dwell time across all tenants during noisy neighbor events. Unlike FIFO queues,
272+
/// messages with the same <c>MessageGroupId</c> can be processed in parallel, maintaining
273+
/// the high throughput of standard queues.
274+
/// </para>
275+
/// <ul> <li>
276+
/// <para>
277+
/// <b>FIFO queues:</b> <c>MessageGroupId</c> acts as the tag that specifies that a message
278+
/// belongs to a specific message group. Messages that belong to the same message group
279+
/// are processed in a FIFO manner (however, messages in different message groups might
280+
/// be processed out of order). To interleave multiple ordered streams within a single
281+
/// queue, use <c>MessageGroupId</c> values (for example, session data for multiple users).
282+
/// In this scenario, multiple consumers can process the queue, but the session data of
283+
/// each user is processed in a FIFO fashion.
266284
/// </para>
267285
///
268286
/// <para>
269-
/// The tag that specifies that a message belongs to a specific message group. Messages
270-
/// that belong to the same message group are processed in a FIFO manner (however, messages
271-
/// in different message groups might be processed out of order). To interleave multiple
272-
/// ordered streams within a single queue, use <c>MessageGroupId</c> values (for example,
273-
/// session data for multiple users). In this scenario, multiple consumers can process
274-
/// the queue, but the session data of each user is processed in a FIFO fashion.
287+
/// If you do not provide a <c>MessageGroupId</c> when sending a message to a FIFO queue,
288+
/// the action fails.
275289
/// </para>
276-
/// <ul> <li>
290+
///
277291
/// <para>
278-
/// You must associate a non-empty <c>MessageGroupId</c> with a message. If you don't
279-
/// provide a <c>MessageGroupId</c>, the action fails.
292+
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
293+
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent.
280294
/// </para>
281295
/// </li> <li>
282296
/// <para>
283-
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
284-
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent. The caller can't
285-
/// specify a <c>MessageGroupId</c>.
297+
/// <b>Standard queues:</b>Use <c>MessageGroupId</c> in standard queues to enable fair
298+
/// queues. The <c>MessageGroupId</c> identifies the tenant a message belongs to. A tenant
299+
/// can be any entity that shares a queue with others, such as your customer, a client
300+
/// application, or a request type. When one tenant sends a disproportionately large volume
301+
/// of messages or has messages that require longer processing time, fair queues ensure
302+
/// other tenants' messages maintain low dwell time. This preserves quality of service
303+
/// for all tenants while maintaining the scalability and throughput of standard queues.
304+
/// We recommend that you include a <c>MessageGroupId</c> in all messages when using fair
305+
/// queues.
286306
/// </para>
287307
/// </li> </ul>
288308
/// <para>
289-
/// The maximum length of <c>MessageGroupId</c> is 128 characters. Valid values: alphanumeric
309+
/// The length of <c>MessageGroupId</c> is 128 characters. Valid values: alphanumeric
290310
/// characters and punctuation <c>(!"#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~)</c>.
291311
/// </para>
292312
///
293313
/// <para>
294314
/// For best practices of using <c>MessageGroupId</c>, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html">Using
295315
/// the MessageGroupId Property</a> in the <i>Amazon SQS Developer Guide</i>.
296316
/// </para>
297-
/// <important>
298-
/// <para>
299-
/// <c>MessageGroupId</c> is required for FIFO queues. You can't use it for Standard
300-
/// queues.
301-
/// </para>
302-
/// </important>
303317
/// </summary>
304318
public string MessageGroupId
305319
{

0 commit comments

Comments
 (0)