From a547209996fc797853de2018d57b104f747cb79c Mon Sep 17 00:00:00 2001 From: Roberto Rojas Date: Tue, 31 Jan 2023 15:11:35 -0500 Subject: [PATCH] [1.10][AWS SNS/SQS] PubSub Component to Stable (#3095) * marks aws snssqs state store component as stable Signed-off-by: Roberto J Rojas * updates pubsub sqs component docs Signed-off-by: Roberto J Rojas --------- Signed-off-by: Roberto J Rojas --- .../supported-pubsub/setup-aws-snssqs.md | 7 +++++++ daprdocs/data/components/pubsub/aws.yaml | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md index 06f540d8b..f0332f086 100644 --- a/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md +++ b/daprdocs/content/en/reference/components-reference/supported-pubsub/setup-aws-snssqs.md @@ -105,14 +105,21 @@ Using SQS FIFO (`fifo` metadata field set to `"true"`) per AWS specifications pr Specifying `fifoMessageGroupID` limits the number of concurrent consumers of the FIFO queue used to only one but guarantees global ordering of messages published by the app's Dapr sidecars. See [this AWS blog post](https://aws.amazon.com/blogs/compute/solving-complex-ordering-challenges-with-amazon-sqs-fifo-queues/) to better understand the topic of Message Group IDs and FIFO queues. +To avoid losing the order of messages delivered to consumers, the FIFO configuration for the SQS Component requires the `concurrencyMode` metadata field set to `"single"`. + #### Default parallel `concurrencyMode` Since v1.8.0, the component supports the `"parallel"` `concurrencyMode` as its default mode. In prior versions, the component default behavior was calling the subscriber a single message at a time and waiting for its response. +#### SQS dead-letter Queues + +When configuring the PubSub component with SQS dead-letter queues, the metadata fields `messageReceiveLimit` and `sqsDeadLettersQueueName` must both be set to a value. For `messageReceiveLimit`, the value must be greater than `0` and the `sqsDeadLettersQueueName` must not be empty string. + {{% alert title="Important" color="warning" %}} When running the Dapr sidecar (`daprd`) with your application on EKS (AWS Kubernetes) node/pod already attached to an IAM policy defining access to AWS resources, you **must not** provide AWS access-key, secret-key, and tokens in the definition of the component spec. {{% /alert %}} + ## Create an SNS/SQS instance {{< tabs "Self-Hosted" "Kubernetes" "AWS" >}} diff --git a/daprdocs/data/components/pubsub/aws.yaml b/daprdocs/data/components/pubsub/aws.yaml index fa5328ab9..682428c38 100644 --- a/daprdocs/data/components/pubsub/aws.yaml +++ b/daprdocs/data/components/pubsub/aws.yaml @@ -1,5 +1,5 @@ - component: AWS SNS/SQS link: setup-aws-snssqs - state: Beta + state: Stable version: v1 - since: "1.6" + since: "1.10"