# AWS Sns

> Manage AWS SNS topics, subscriptions, and publish notifications.

- Skill: `majiayu000/aws-sns` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/aws-sns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/aws-sns/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/aws-sns

---


# AWS SNS

Manage SNS topics and publish notifications.

## List topics

```bash
aws sns list-topics --query 'Topics[].TopicArn' --output table
```

## Get topic attributes

```bash
aws sns get-topic-attributes --topic-arn "$SNS_TOPIC_ARN" | jq '.Attributes | {DisplayName, SubscriptionsConfirmed, SubscriptionsPending}'
```

## List subscriptions

```bash
aws sns list-subscriptions-by-topic --topic-arn "$SNS_TOPIC_ARN" --query 'Subscriptions[].{Endpoint:Endpoint,Protocol:Protocol,Status:SubscriptionArn}' --output table
```

## Publish message

```bash
aws sns publish --topic-arn "$SNS_TOPIC_ARN" \
  --subject "Alert" \
  --message "Deployment complete for v1.2.3" | jq '{MessageId}'
```

## Publish JSON message (protocol-specific)

```bash
aws sns publish --topic-arn "$SNS_TOPIC_ARN" \
  --message-structure json \
  --message '{"default":"Alert","email":"Email body","sms":"SMS text"}' | jq '{MessageId}'
```

## Subscribe endpoint

```bash
aws sns subscribe --topic-arn "$SNS_TOPIC_ARN" \
  --protocol email --notification-endpoint user@example.com | jq '{SubscriptionArn}'
```

## Notes

- Email subscriptions require confirmation by the recipient.
- Confirm before publishing or subscribing endpoints.

