Skip to content

SNS — Topics & Subscriptions

SNS in Floci Studio supports standard and FIFO topics, subscription management across all protocols, and a publish panel for testing message delivery.

  1. Click SNS in the sidebar.
  2. Click Create Topic.
  3. Enter a topic name (e.g., system-alerts).
  4. Toggle FIFO Topic if you need ordered delivery and deduplication. The .fifo suffix is added automatically, and ContentBasedDeduplication is enabled.
  5. Click Create.

Click any topic card to open the drill-down. Three tabs are available:

Lists all active subscriptions with protocol, endpoint, and confirmation status. Click Add Subscription to subscribe a new endpoint.

Supported protocols:

  • email / email-json
  • http / https
  • sqs — paste the queue ARN
  • lambda — paste the function ARN
  • sms

In local emulation, all subscriptions are confirmed immediately regardless of protocol.

Send a message to the topic:

{
"event": "high_cpu",
"instance": "i-0abc123",
"value": 95.2
}

An optional Subject field is available for email-protocol subscribers.

Shows all topic metadata via GetTopicAttributes:

KeyDescription
TopicArnFull ARN
SubscriptionsConfirmedActive subscriber count
SubscriptionsPendingAwaiting confirmation
FifoTopictrue if FIFO
ContentBasedDeduplicationEnabled for FIFO topics
DisplayNameOptional display name for email
KmsMasterKeyIdKMS key if encryption enabled
import boto3
sns = boto3.client("sns", endpoint_url="http://localhost:4566",
region_name="us-east-1",
aws_access_key_id="test", aws_secret_access_key="test")
# Create standard topic
arn = sns.create_topic(Name="system-alerts")["TopicArn"]
# Create FIFO topic
fifo_arn = sns.create_topic(
Name="order-events.fifo",
Attributes={"FifoTopic": "true", "ContentBasedDeduplication": "true"}
)["TopicArn"]
# Subscribe SQS
sns.subscribe(TopicArn=arn, Protocol="sqs",
Endpoint="arn:aws:sqs:us-east-1:000000000000:my-queue")
# Publish
sns.publish(TopicArn=arn, Message='{"event": "alarm"}', Subject="Alert")