Skip to content

Aws Sns

DodaTech 2 min read

title: "Cum să folosești SNS (Simple Notification Service) în AWS — Ghid rapid" description: "Creare topic-uri SNS, abonare canale (email, SMS, SQS, Lambda) și trimitere notificări în AWS" weight: 1035 date: 2025-01-15 draft: false tags: [aws, sns, notificări, pub-sub, quick-fix]

Amazon SNS (Simple Notification Service) este un serviciu de notificări complet gestionat, care implementează modelul publisher-subscriber, permițând trimiterea de mesaje către multiple canale simultan.

Problema

Trimiterea de notificări individual (email + SMS + push) necesită integrarea separată a fiecărui canal, cod duplicat și gestionarea manuală a eșecurilor de livrare.

Abordarea Greșită

# Trimitere notificări individual, canal cu canal
send_email("admin@example.com", "Alerte", "CPU peste 90%")
send_sms("+40123456789", "CPU peste 90%")
# Dacă adaugi un canal nou, modifici tot codul

Abordarea Corectă

Folosește SNS cu topic și abonamente multiple:

# Creare topic
aws sns create-topic --name alerte-infrastructura

# Abonare email
aws sns subscribe \
  --topic-arn arn:aws:sns:us-east-1:123456789012:alerte-infrastructura \
  --protocol email \
  --notification-endpoint admin@example.com

# Abonare SMS
aws sns subscribe \
  --topic-arn arn:aws:sns:us-east-1:123456789012:alerte-infrastructura \
  --protocol sms \
  --notification-endpoint "+40123456789"

# Abonare SQS
aws sns subscribe \
  --topic-arn arn:aws:sns:us-east-1:123456789012:alerte-infrastructura \
  --protocol sqs \
  --notification-endpoint arn:aws:sqs:us-east-1:123456789012:coada-alerte

Trimitere Mesaje

# Trimite notificare
aws sns publish \
  --topic-arn arn:aws:sns:us-east-1:123456789012:alerte-infrastructura \
  --message "Alerte: CPU peste 90% pe serverul web-01!"
  --subject "Alerte CPU"

# Trimitere cu filtru (mesaje diferite pe canale)
aws sns publish \
  --topic-arn arn:aws:sns:us-east-1:123456789012:alerte-infrastructura \
  --message '{"default": "Alertă generală", "email": "Alertă CPU - acțiune necesară", "sqs": "{\"nivel\": \"critic\", \"sursa\": \"web-01\"}"}'

Output:

{
    "MessageId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Greșeli Comune

  1. Fără filtre pe abonamente — toate abonamentele primesc toate mesajele; folosește FilterPolicy.
  2. Subiecți lipsă în email — fără subject, email-urile au titlu gol și pot fi marcate ca spam.
  3. Costuri SMS necontrolate — SMS-ul e mai scump; limitează numărul de notificări SMS.
  4. Fără confirmare abonament email — abonamentele email necesită confirmare înainte de a primi mesaje.
  5. DLQ neconfigurat — mesajele nelivrabile se pierd; asociază o DLQ fiecărui abonament.

FAQ

### Ce este Amazon SNS?

SNS este un serviciu de notificări pub/sub care distribuie mesaje către multiple canale (email, SMS, SQS, Lambda, HTTP) simultan.

Care e diferența dintre SNS și SQS?

SNS distribuie mesaje activ către abonați (push). SQS păstrează mesajele într-o coadă unde consumatorii le citesc (poll).

Cum filtrezi mesajele SNS pe abonament?

Folosește FilterPolicy pe fiecare abonament pentru a livra doar mesajele care respectă reguli JSON specifice.

Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. DodaTech integrează securitatea în fiecare soluție cloud.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro