Overview
A client-mode connector for a curated messaging / notifications slice of Amazon SNS:
Default
BASE_ADDRESS is https://sns.eu-west-1.amazonaws.com. Topics use messaging/amazon-sns/<object>/<verb>. Official protocol is Query form-urlencoded (XML responses), not CloudWatch-style JSON X-Amz-Target.
Prefer Hub secrets for
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_REGION used by an upstream SigV4 signer. Pass Authorization, x-amz-date, and x-amz-content-sha256 on each MQTT payload — this is not Bearer auth. This template has not been verified against a live AWS account. Status remains blocked until an authenticated live smoke succeeds.Basic Syntax
Authentication
Sign with service name
sns and a region matching the host. Store AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_REGION (optional AWS_SESSION_TOKEN) in Hub secrets and resolve via an upstream signer + GET SECRET — never commit credentials.
MQTT examples
ListTopics (preferred smoke; form body):MessageId.
Publish SMS:
authorization, x_amz_date, x_amz_content_sha256) on the MQTT JSON envelope; put the form string in the HTTP body ({payload}).
ENABLE_SERVER companion
When SNS delivers SubscriptionConfirmation / Notification / UnsubscribeConfirmation to your HTTPS endpoint, handle them with a separateENABLE_SERVER connector (not packaged here). Confirm with the client ConfirmSubscription Query action (Token + TopicArn) or by GETting the SubscribeURL from the confirmation payload.
Related
- REST API Connectors
- Amazon CloudWatch (SigV4 pattern; SNS alarm companion)
- AWS docs: Publish, ListTopics, HTTPS subscribers

