Skip to content

Commit 8f14d43

Browse files
This release adds support for the topic attribute FifoThroughputScope for SNS FIFO topics. For details, see the documentation history in the Amazon Simple Notification Service Developer Guide.
1 parent 3d2fac0 commit 8f14d43

12 files changed

+134
-45
lines changed

generator/ServiceModels/sns/sns-2010-03-31.docs.json

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

generator/ServiceModels/sns/sns-2010-03-31.normal.json

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

sdk/src/Services/SimpleNotificationService/Generated/Model/CreateTopicRequest.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,24 @@ public CreateTopicRequest(string name)
146146
/// (Optional) To override the generated value, you can specify a value for the <c>MessageDeduplicationId</c>
147147
/// parameter for the <c>Publish</c> action.
148148
/// </para>
149+
/// </li> </ul> </li> </ul> <ul> <li>
150+
/// <para>
151+
/// <c>FifoThroughputScope</c> – Enables higher throughput for your FIFO topic by adjusting
152+
/// the scope of deduplication. This attribute has two possible values:
153+
/// </para>
154+
/// <ul> <li>
155+
/// <para>
156+
/// <c>Topic</c> – The scope of message deduplication is across the entire topic. This
157+
/// is the default value and maintains existing behavior, with a maximum throughput of
158+
/// 3000 messages per second or 20MB per second, whichever comes first.
159+
/// </para>
160+
/// </li> <li>
161+
/// <para>
162+
/// <c>MessageGroup</c> – The scope of deduplication is within each individual message
163+
/// group, which enables higher throughput per topic subject to regional quotas. For more
164+
/// information on quotas or to request an increase, see <a href="https://docs.aws.amazon.com/general/latest/gr/sns.html">Amazon
165+
/// SNS service quotas</a> in the Amazon Web Services General Reference.
166+
/// </para>
149167
/// </li> </ul> </li> </ul>
150168
/// </summary>
151169
public Dictionary<string, string> Attributes

sdk/src/Services/SimpleNotificationService/Generated/Model/PublishBatchRequestEntry.cs

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,31 @@ internal bool IsSetMessageAttributes()
116116
/// <para>
117117
/// This parameter applies only to FIFO (first-in-first-out) topics.
118118
/// </para>
119-
///
119+
/// <ul> <li>
120120
/// <para>
121-
/// The token used for deduplication of messages within a 5-minute minimum deduplication
122-
/// interval. If a message with a particular <c>MessageDeduplicationId</c> is sent successfully,
123-
/// subsequent messages with the same <c>MessageDeduplicationId</c> are accepted successfully
124-
/// but aren't delivered.
121+
/// This parameter applies only to FIFO (first-in-first-out) topics. The <c>MessageDeduplicationId</c>
122+
/// can contain up to 128 alphanumeric characters <c>(a-z, A-Z, 0-9)</c> and punctuation
123+
/// <c>(!"#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~)</c>.
125124
/// </para>
126-
/// <ul> <li>
125+
/// </li> <li>
126+
/// <para>
127+
/// Every message must have a unique <c>MessageDeduplicationId</c>, which is a token used
128+
/// for deduplication of sent messages within the 5 minute minimum deduplication interval.
129+
/// </para>
130+
/// </li> <li>
131+
/// <para>
132+
/// The scope of deduplication depends on the <c>FifoThroughputScope</c> attribute, when
133+
/// set to <c>Topic</c> the message deduplication scope is across the entire topic, when
134+
/// set to <c>MessageGroup</c> the message deduplication scope is within each individual
135+
/// message group.
136+
/// </para>
137+
/// </li> <li>
138+
/// <para>
139+
/// If a message with a particular <c>MessageDeduplicationId</c> is sent successfully,
140+
/// subsequent messages within the deduplication scope and interval, with the same <c>MessageDeduplicationId</c>,
141+
/// are accepted successfully but aren't delivered.
142+
/// </para>
143+
/// </li> <li>
127144
/// <para>
128145
/// Every message must have a unique <c>MessageDeduplicationId</c>.
129146
/// </para>
@@ -150,15 +167,16 @@ internal bool IsSetMessageAttributes()
150167
/// </li> </ul> </li> <li>
151168
/// <para>
152169
/// When <c>ContentBasedDeduplication</c> is in effect, messages with identical content
153-
/// sent within the deduplication interval are treated as duplicates and only one copy
154-
/// of the message is delivered.
170+
/// sent within the deduplication scope and interval are treated as duplicates and only
171+
/// one copy of the message is delivered.
155172
/// </para>
156173
/// </li> <li>
157174
/// <para>
158175
/// If you send one message with <c>ContentBasedDeduplication</c> enabled, and then another
159176
/// message with a <c>MessageDeduplicationId</c> that is the same as the one generated
160-
/// for the first <c>MessageDeduplicationId</c>, the two messages are treated as duplicates
161-
/// and only one copy of the message is delivered.
177+
/// for the first <c>MessageDeduplicationId</c>, the two messages are treated as duplicates,
178+
/// within the deduplication scope and interval, and only one copy of the message is delivered.
179+
///
162180
/// </para>
163181
/// </li> </ul> <note>
164182
/// <para>
@@ -176,15 +194,7 @@ internal bool IsSetMessageAttributes()
176194
/// Amazon SNS continues to keep track of the message deduplication ID even after the
177195
/// message is received and deleted.
178196
/// </para>
179-
/// </note>
180-
/// <para>
181-
/// The length of <c>MessageDeduplicationId</c> is 128 characters.
182-
/// </para>
183-
///
184-
/// <para>
185-
/// <c>MessageDeduplicationId</c> can contain alphanumeric characters <c>(a-z, A-Z, 0-9)</c>
186-
/// and punctuation <c>(!"#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~)</c>.
187-
/// </para>
197+
/// </note>
188198
/// </summary>
189199
public string MessageDeduplicationId
190200
{

sdk/src/Services/SimpleNotificationService/Generated/Model/PublishRequest.cs

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -220,25 +220,68 @@ internal bool IsSetMessageAttributes()
220220
}
221221

222222
/// <summary>
223-
/// Gets and sets the property MessageDeduplicationId.
223+
/// Gets and sets the property MessageDeduplicationId. <ul> <li>
224224
/// <para>
225225
/// This parameter applies only to FIFO (first-in-first-out) topics. The <c>MessageDeduplicationId</c>
226226
/// can contain up to 128 alphanumeric characters <c>(a-z, A-Z, 0-9)</c> and punctuation
227227
/// <c>(!"#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~)</c>.
228228
/// </para>
229-
///
229+
/// </li> <li>
230230
/// <para>
231231
/// Every message must have a unique <c>MessageDeduplicationId</c>, which is a token used
232-
/// for deduplication of sent messages. If a message with a particular <c>MessageDeduplicationId</c>
233-
/// is sent successfully, any message sent with the same <c>MessageDeduplicationId</c>
234-
/// during the 5-minute deduplication interval is treated as a duplicate.
232+
/// for deduplication of sent messages within the 5 minute minimum deduplication interval.
235233
/// </para>
236-
///
234+
/// </li> <li>
235+
/// <para>
236+
/// The scope of deduplication depends on the <c>FifoThroughputScope</c> attribute, when
237+
/// set to <c>Topic</c> the message deduplication scope is across the entire topic, when
238+
/// set to <c>MessageGroup</c> the message deduplication scope is within each individual
239+
/// message group.
240+
/// </para>
241+
/// </li> <li>
242+
/// <para>
243+
/// If a message with a particular <c>MessageDeduplicationId</c> is sent successfully,
244+
/// subsequent messages within the deduplication scope and interval, with the same <c>MessageDeduplicationId</c>,
245+
/// are accepted successfully but aren't delivered.
246+
/// </para>
247+
/// </li> <li>
248+
/// <para>
249+
/// Every message must have a unique <c>MessageDeduplicationId</c>:
250+
/// </para>
251+
/// <ul> <li>
252+
/// <para>
253+
/// You may provide a <c>MessageDeduplicationId</c> explicitly.
254+
/// </para>
255+
/// </li> <li>
256+
/// <para>
257+
/// If you aren't able to provide a <c>MessageDeduplicationId</c> and you enable <c>ContentBasedDeduplication</c>
258+
/// for your topic, Amazon SNS uses a SHA-256 hash to generate the <c>MessageDeduplicationId</c>
259+
/// using the body of the message (but not the attributes of the message).
260+
/// </para>
261+
/// </li> <li>
262+
/// <para>
263+
/// If you don't provide a <c>MessageDeduplicationId</c> and the topic doesn't have <c>ContentBasedDeduplication</c>
264+
/// set, the action fails with an error.
265+
/// </para>
266+
/// </li> <li>
267+
/// <para>
268+
/// If the topic has a <c>ContentBasedDeduplication</c> set, your <c>MessageDeduplicationId</c>
269+
/// overrides the generated one.
270+
/// </para>
271+
/// </li> </ul> </li> <li>
237272
/// <para>
238-
/// If the topic has <c>ContentBasedDeduplication</c> set, the system generates a <c>MessageDeduplicationId</c>
239-
/// based on the contents of the message. Your <c>MessageDeduplicationId</c> overrides
240-
/// the generated one.
273+
/// When <c>ContentBasedDeduplication</c> is in effect, messages with identical content
274+
/// sent within the deduplication scope and interval are treated as duplicates and only
275+
/// one copy of the message is delivered.
241276
/// </para>
277+
/// </li> <li>
278+
/// <para>
279+
/// If you send one message with <c>ContentBasedDeduplication</c> enabled, and then another
280+
/// message with a <c>MessageDeduplicationId</c> that is the same as the one generated
281+
/// for the first <c>MessageDeduplicationId</c>, the two messages are treated as duplicates,
282+
/// within the deduplication scope and interval, and only one copy of the message is delivered.
283+
/// </para>
284+
/// </li> </ul>
242285
/// </summary>
243286
public string MessageDeduplicationId
244287
{

0 commit comments

Comments
 (0)