Amazon SNS
Managed fan-out topic delivering to SQS, Lambda, HTTP and mobile push subscribers.
- Provider
- aws
- Kind
- Pub/Sub topic
- Category
- Messaging
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| delivery | enum | at-most-once | at-least-once | exactly-once | yes | — | ▸ at-least-once |
| fifo | boolean | — | no | false | inherited |
| managed | boolean | — | no | false | ▸ true |
| ordering | enum | none | per-key | no | none | ▸ none |
| replay | boolean | — | no | false | ▸ false |
| topicPerEventType | boolean | — | no | true | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
pubsub-replay-required
The design declares that consumers must be able to replay history. A fan-out topic that does not retain messages cannot deliver that.
- — all of these hold:
- — the design requirement `messaging.replay` is true
- — the node's `replay` is false
nodes:
- { id: "sns", component: "sns" }EventBridgealibaba-eventbridgeAmazon EventBridgeaws-eventbridgeAzure Event Gridazure-event-gridAzure Event Grid MQTT Brokerazure-event-grid-mqttEclipse MosquittomosquittoMQTT brokermqtt-brokerNanoMQnanomqGeneric Pub/Sub topicpubsub-topicRedis Pub/Subredis-pubsubEventarcgoogle-eventarcGoogle Cloud Pub/Subgoogle-pubsubOCI Eventsoci-events
# yaml-language-server: $schema=../../schema/component.schema.json # Amazon SNS: managed fan-out topic, at-least-once, unordered, no replay. FIFO topics are opt-in. schemaVersion: "1" type: "component" id: "sns" kind: "pubsub-topic" provider: "aws" docs: "https://docs.aws.amazon.com/sns/latest/dg/welcome.html" defaults: managed: true delivery: "at-least-once" ordering: "none" replay: false properties: fifo: type: "boolean" default: false