Skip to content

Commit d4d509b

Browse files
Documentation updates for Amazon SQS fair queues feature.
1 parent e7c11ff commit d4d509b

15 files changed

+306
-352
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>
@@ -328,8 +327,7 @@ internal bool IsSetMessageAttributeNames()
328327
/// </li> <li>
329328
/// <para>
330329
/// <c>MessageGroupId</c> – Returns the value provided by the producer that calls the
331-
/// <c> <a>SendMessage</a> </c> action. Messages with the same <c>MessageGroupId</c> are
332-
/// returned in sequence.
330+
/// <c> <a>SendMessage</a> </c> action.
333331
/// </para>
334332
/// </li> <li>
335333
/// <para>
@@ -424,8 +422,8 @@ internal bool IsSetQueueUrl()
424422
/// <para>
425423
/// While messages with a particular <c>MessageGroupId</c> are invisible, no more messages
426424
/// belonging to the same <c>MessageGroupId</c> are returned until the visibility timeout
427-
/// expires. You can still receive messages with another <c>MessageGroupId</c> as long
428-
/// as it is also visible.
425+
/// expires. You can still receive messages with another <c>MessageGroupId</c> from your
426+
/// FIFO queue as long as they are visible.
429427
/// </para>
430428
/// </li> <li>
431429
/// <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
@@ -246,27 +246,47 @@ internal bool IsSetMessageDeduplicationId()
246246
/// <summary>
247247
/// Gets and sets the property MessageGroupId.
248248
/// <para>
249-
/// This parameter applies only to FIFO (first-in-first-out) queues.
249+
/// <c>MessageGroupId</c> is an attribute used in Amazon SQS FIFO (First-In-First-Out)
250+
/// and standard queues. In FIFO queues, <c>MessageGroupId</c> organizes messages into
251+
/// distinct groups. Messages within the same message group are always processed one at
252+
/// a time, in strict order, ensuring that no two messages from the same group are processed
253+
/// simultaneously. In standard queues, using <c>MessageGroupId</c> enables fair queues.
254+
/// It is used to identify the tenant a message belongs to, helping maintain consistent
255+
/// message dwell time across all tenants during noisy neighbor events. Unlike FIFO queues,
256+
/// messages with the same <c>MessageGroupId</c> can be processed in parallel, maintaining
257+
/// the high throughput of standard queues.
258+
/// </para>
259+
/// <ul> <li>
260+
/// <para>
261+
/// <b>FIFO queues:</b> <c>MessageGroupId</c> acts as the tag that specifies that a message
262+
/// belongs to a specific message group. Messages that belong to the same message group
263+
/// are processed in a FIFO manner (however, messages in different message groups might
264+
/// be processed out of order). To interleave multiple ordered streams within a single
265+
/// queue, use <c>MessageGroupId</c> values (for example, session data for multiple users).
266+
/// In this scenario, multiple consumers can process the queue, but the session data of
267+
/// each user is processed in a FIFO fashion.
250268
/// </para>
251269
///
252270
/// <para>
253-
/// The tag that specifies that a message belongs to a specific message group. Messages
254-
/// that belong to the same message group are processed in a FIFO manner (however, messages
255-
/// in different message groups might be processed out of order). To interleave multiple
256-
/// ordered streams within a single queue, use <c>MessageGroupId</c> values (for example,
257-
/// session data for multiple users). In this scenario, multiple consumers can process
258-
/// the queue, but the session data of each user is processed in a FIFO fashion.
271+
/// If you do not provide a <c>MessageGroupId</c> when sending a message to a FIFO queue,
272+
/// the action fails.
259273
/// </para>
260-
/// <ul> <li>
274+
///
261275
/// <para>
262-
/// You must associate a non-empty <c>MessageGroupId</c> with a message. If you don't
263-
/// provide a <c>MessageGroupId</c>, the action fails.
276+
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
277+
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent.
264278
/// </para>
265279
/// </li> <li>
266280
/// <para>
267-
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
268-
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent. The caller can't
269-
/// specify a <c>MessageGroupId</c>.
281+
/// <b>Standard queues:</b>Use <c>MessageGroupId</c> in standard queues to enable fair
282+
/// queues. The <c>MessageGroupId</c> identifies the tenant a message belongs to. A tenant
283+
/// can be any entity that shares a queue with others, such as your customer, a client
284+
/// application, or a request type. When one tenant sends a disproportionately large volume
285+
/// of messages or has messages that require longer processing time, fair queues ensure
286+
/// other tenants' messages maintain low dwell time. This preserves quality of service
287+
/// for all tenants while maintaining the scalability and throughput of standard queues.
288+
/// We recommend that you include a <c>MessageGroupId</c> in all messages when using fair
289+
/// queues.
270290
/// </para>
271291
/// </li> </ul>
272292
/// <para>
@@ -278,12 +298,6 @@ internal bool IsSetMessageDeduplicationId()
278298
/// For best practices of using <c>MessageGroupId</c>, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html">Using
279299
/// the MessageGroupId Property</a> in the <i>Amazon SQS Developer Guide</i>.
280300
/// </para>
281-
/// <important>
282-
/// <para>
283-
/// <c>MessageGroupId</c> is required for FIFO queues. You can't use it for Standard
284-
/// queues.
285-
/// </para>
286-
/// </important>
287301
/// </summary>
288302
public string MessageGroupId
289303
{

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;
@@ -145,9 +145,9 @@ internal bool IsSetMessageAttributes()
145145
///
146146
/// <para>
147147
/// Amazon SQS does not throw an exception or completely reject the message if it contains
148-
/// invalid characters. Instead, it replaces those invalid characters with <c>U+FFFD</c>
149-
/// before storing the message in the queue, as long as the message body contains at least
150-
/// one valid character.
148+
/// invalid characters. Instead, it replaces those invalid characters with U+FFFD before
149+
/// storing the message in the queue, as long as the message body contains at least one
150+
/// valid character.
151151
/// </para>
152152
/// </important>
153153
/// </summary>
@@ -257,44 +257,58 @@ internal bool IsSetMessageDeduplicationId()
257257
/// <summary>
258258
/// Gets and sets the property MessageGroupId.
259259
/// <para>
260-
/// This parameter applies only to FIFO (first-in-first-out) queues.
260+
/// <c>MessageGroupId</c> is an attribute used in Amazon SQS FIFO (First-In-First-Out)
261+
/// and standard queues. In FIFO queues, <c>MessageGroupId</c> organizes messages into
262+
/// distinct groups. Messages within the same message group are always processed one at
263+
/// a time, in strict order, ensuring that no two messages from the same group are processed
264+
/// simultaneously. In standard queues, using <c>MessageGroupId</c> enables fair queues.
265+
/// It is used to identify the tenant a message belongs to, helping maintain consistent
266+
/// message dwell time across all tenants during noisy neighbor events. Unlike FIFO queues,
267+
/// messages with the same <c>MessageGroupId</c> can be processed in parallel, maintaining
268+
/// the high throughput of standard queues.
269+
/// </para>
270+
/// <ul> <li>
271+
/// <para>
272+
/// <b>FIFO queues:</b> <c>MessageGroupId</c> acts as the tag that specifies that a message
273+
/// belongs to a specific message group. Messages that belong to the same message group
274+
/// are processed in a FIFO manner (however, messages in different message groups might
275+
/// be processed out of order). To interleave multiple ordered streams within a single
276+
/// queue, use <c>MessageGroupId</c> values (for example, session data for multiple users).
277+
/// In this scenario, multiple consumers can process the queue, but the session data of
278+
/// each user is processed in a FIFO fashion.
261279
/// </para>
262280
///
263281
/// <para>
264-
/// The tag that specifies that a message belongs to a specific message group. Messages
265-
/// that belong to the same message group are processed in a FIFO manner (however, messages
266-
/// in different message groups might be processed out of order). To interleave multiple
267-
/// ordered streams within a single queue, use <c>MessageGroupId</c> values (for example,
268-
/// session data for multiple users). In this scenario, multiple consumers can process
269-
/// the queue, but the session data of each user is processed in a FIFO fashion.
282+
/// If you do not provide a <c>MessageGroupId</c> when sending a message to a FIFO queue,
283+
/// the action fails.
270284
/// </para>
271-
/// <ul> <li>
285+
///
272286
/// <para>
273-
/// You must associate a non-empty <c>MessageGroupId</c> with a message. If you don't
274-
/// provide a <c>MessageGroupId</c>, the action fails.
287+
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
288+
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent.
275289
/// </para>
276290
/// </li> <li>
277291
/// <para>
278-
/// <c>ReceiveMessage</c> might return messages with multiple <c>MessageGroupId</c> values.
279-
/// For each <c>MessageGroupId</c>, the messages are sorted by time sent. The caller can't
280-
/// specify a <c>MessageGroupId</c>.
292+
/// <b>Standard queues:</b>Use <c>MessageGroupId</c> in standard queues to enable fair
293+
/// queues. The <c>MessageGroupId</c> identifies the tenant a message belongs to. A tenant
294+
/// can be any entity that shares a queue with others, such as your customer, a client
295+
/// application, or a request type. When one tenant sends a disproportionately large volume
296+
/// of messages or has messages that require longer processing time, fair queues ensure
297+
/// other tenants' messages maintain low dwell time. This preserves quality of service
298+
/// for all tenants while maintaining the scalability and throughput of standard queues.
299+
/// We recommend that you include a <c>MessageGroupId</c> in all messages when using fair
300+
/// queues.
281301
/// </para>
282302
/// </li> </ul>
283303
/// <para>
284-
/// The maximum length of <c>MessageGroupId</c> is 128 characters. Valid values: alphanumeric
304+
/// The length of <c>MessageGroupId</c> is 128 characters. Valid values: alphanumeric
285305
/// characters and punctuation <c>(!"#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~)</c>.
286306
/// </para>
287307
///
288308
/// <para>
289309
/// For best practices of using <c>MessageGroupId</c>, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagegroupid-property.html">Using
290310
/// the MessageGroupId Property</a> in the <i>Amazon SQS Developer Guide</i>.
291311
/// </para>
292-
/// <important>
293-
/// <para>
294-
/// <c>MessageGroupId</c> is required for FIFO queues. You can't use it for Standard
295-
/// queues.
296-
/// </para>
297-
/// </important>
298312
/// </summary>
299313
public string MessageGroupId
300314
{

0 commit comments

Comments
 (0)