SNS SDK appears outdated
- Dominant language
- Lua
- Stars
- 35
- Forks
- 28
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I noticed the SNS client doesn't include the FIFO related member fields in the input to the publish method.
E.g. they are defined in the JS SDK: https://github.com/aws/aws-sdk-js/blob/966fa6c316dbb11ca9277564ff7120e6b16467f4/apis/sns-2010-03-31.normal.json#L2330
```
"MessageDeduplicationId": {
"shape": "String",
"documentation": "
This parameter applies only to FIFO (first-in-first-out) topics.
The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered.
-
Every message must have a unique
MessageDeduplicationId.-
You may provide a
MessageDeduplicationIdexplicitly. -
If you aren't able to provide a
MessageDeduplicationIdand you enableContentBasedDeduplicationfor your topic, Amazon SNS uses a SHA-256 hash to generate theMessageDeduplicationIdusing the body of the message (but not the attributes of the message). -
If you don't provide a
MessageDeduplicationIdand the topic doesn't haveContentBasedDeduplicationset, the action fails with an error. -
If the topic has a
ContentBasedDeduplicationset, yourMessageDeduplicationIdoverrides the generated one.
-
-
When
ContentBasedDeduplicationis 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 you send one message with
ContentBasedDeduplicationenabled, and then another message with aMessageDeduplicationIdthat is the same as the one generated for the firstMessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.
The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).
If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SNS can't detect duplicate messages.
Amazon SNS continues to keep track of the message deduplication ID even after the message is received and deleted.
The length of MessageDeduplicationId is 128 characters.
MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).
},
"MessageGroupId": {
"shape": "String",
"documentation": "
This parameter applies only to FIFO (first-in-first-out) topics.
The 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). To interleave multiple ordered streams within a single topic, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple consumers can process the topic, but the session data of each user is processed in a FIFO fashion.
You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.
The length of MessageGroupId is 128 characters.
MessageGroupId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).
MessageGroupId is required for FIFO topics. You can't use it for standard topics.
}
```
But they are not usable while using lua-resty-ws, even though AWS has added this functionality years ago.
Seems like the APIs need to be regenerated or something?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the lua-resty-aws SNS client’s Publish input definition and compare its accepted fields with the AWS SNS API linked in the issue. The work is done when FIFO topics can use MessageDeduplicationId and MessageGroupId through the client, with validation that the Publish input accepts both fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, lua
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100