From 81cce317f3fbf0c9152a4128bc48d8dadb1961ac Mon Sep 17 00:00:00 2001 From: AWS <> Date: Thu, 22 Oct 2020 18:03:20 +0000 Subject: [PATCH] Amazon Simple Notification Service Update: SNS now supports a new class of topics: FIFO (First-In-First-Out). FIFO topics provide strictly-ordered, deduplicated, filterable, encryptable, many-to-many messaging at scale. --- ...azonSimpleNotificationService-4f80a22.json | 5 +++++ .../codegen-resources/service-2.json | 22 ++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 .changes/next-release/feature-AmazonSimpleNotificationService-4f80a22.json diff --git a/.changes/next-release/feature-AmazonSimpleNotificationService-4f80a22.json b/.changes/next-release/feature-AmazonSimpleNotificationService-4f80a22.json new file mode 100644 index 000000000000..2ff5da7ba2e6 --- /dev/null +++ b/.changes/next-release/feature-AmazonSimpleNotificationService-4f80a22.json @@ -0,0 +1,5 @@ +{ + "type": "feature", + "category": "Amazon Simple Notification Service", + "description": "SNS now supports a new class of topics: FIFO (First-In-First-Out). FIFO topics provide strictly-ordered, deduplicated, filterable, encryptable, many-to-many messaging at scale." +} diff --git a/services/sns/src/main/resources/codegen-resources/service-2.json b/services/sns/src/main/resources/codegen-resources/service-2.json index 834d2866eca7..d9c48dc8c4e6 100755 --- a/services/sns/src/main/resources/codegen-resources/service-2.json +++ b/services/sns/src/main/resources/codegen-resources/service-2.json @@ -126,7 +126,7 @@ {"shape":"TagPolicyException"}, {"shape":"ConcurrentAccessException"} ], - "documentation":"
Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
" + "documentation":"Creates a topic to which notifications can be published. Users can create at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
" }, "DeleteEndpoint":{ "name":"DeleteEndpoint", @@ -820,11 +820,11 @@ "members":{ "Name":{ "shape":"topicName", - "documentation":"The name of the topic you want to create.
Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.
" + "documentation":"The name of the topic you want to create.
Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.
For a FIFO (first-in-first-out) topic, the name must end with the .fifo
suffix.
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the CreateTopic
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the CreateTopic
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
FifoTopic
– Set to true to create a FIFO topic.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
– The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attribute applies only to FIFO topics:
ContentBasedDeduplication
– Enables content-based deduplication. Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
When ContentBasedDeduplication
is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.
If the queue has ContentBasedDeduplication
set, your MessageDeduplicationId
overrides the generated one.
Message attributes for Publish action.
" + }, + "MessageDeduplicationId":{ + "shape":"String", + "documentation":"This parameter applies only to FIFO (first-in-first-out) topics. The MessageDeduplicationId
can contain up to 128 alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~)
.
Every message must have a unique MessageDeduplicationId
, which is a token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId
is sent successfully, any message sent with the same MessageDeduplicationId
during the 5-minute deduplication interval is treated as a duplicate.
If the topic has ContentBasedDeduplication
set, the system generates a MessageDeduplicationId
based on the contents of the message. Your MessageDeduplicationId
overrides the generated one.
This parameter applies only to FIFO (first-in-first-out) topics. The MessageGroupId
can contain up to 128 alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~)
.
The MessageGroupId
is a tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). Every message must include a MessageGroupId
.
Input for Publish action.
" @@ -1484,6 +1492,10 @@ "MessageId":{ "shape":"messageId", "documentation":"Unique identifier assigned to the published message.
Length Constraint: Maximum 100 characters
" + }, + "SequenceNumber":{ + "shape":"String", + "documentation":"This response element applies only to FIFO (first-in-first-out) topics.
The sequence number is a large, non-consecutive number that Amazon SNS assigns to each message. The length of SequenceNumber
is 128 bits. SequenceNumber
continues to increase for each MessageGroupId
.
Response for Publish action.
" @@ -1607,7 +1619,7 @@ }, "AttributeName":{ "shape":"attributeName", - "documentation":"A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
– The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attribute applies only to FIFO topics:
ContentBasedDeduplication
– Enables content-based deduplication. Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
When ContentBasedDeduplication
is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.
If the queue has ContentBasedDeduplication
set, your MessageDeduplicationId
overrides the generated one.
Sets whether the response from the Subscribe
request includes the subscription ARN, even if the subscription is not yet confirmed.
If you set this parameter to true
, the response includes the ARN in all cases, even if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response also includes the pending subscription
ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription
action with a confirmation token.
The default value is false
.
Sets whether the response from the Subscribe
request includes the subscription ARN, even if the subscription is not yet confirmed.
If you set this parameter to true
, the response includes the ARN in all cases, even if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response also includes the pending subscription
ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription
action with a confirmation token.
The default value is false
.
Input for Subscribe action.
"