Wie passe ich die standardmäßige Amazon SNS-E-Mail-Betreffzeile an?
Ich möchte die standardmäßige E-Mail-Betreffzeile „AWS Notification Message“ von Amazon Simple Notification Service (Amazon SNS) für eine Amazon EventBridge-Benachrichtigung anpassen.
Kurzbeschreibung
Amazon SNS empfängt Benachrichtigungen von einer EventBridge-Regel, die mit AWS-Services als Ereignisquelle für die Zustellung per E-Mail erstellt wurde. Du kannst die E-Mail-Betreffzeile AWS Notification Message nicht direkt ändern, wenn ein AWS-Service das Amazon SNS-Thema auslöst, das das E-Mail-Abonnement enthält.
Lösung
Erstelle eine AWS-Lambda-Funktion, um die Standard-E-Mail-Betreffzeile anzupassen. Du kannst Lambda anstelle des Amazon SNS-Themas als Ziel für die EventBridge-Regel verwenden. Verwenden dann die Lambda-Funktion, um Nachrichten mit benutzerdefinierter E-Mail-Betreffzeile zum Amazon SNS-Thema mit den Abonnenten zu veröffentlichen.
Erstellen eines SNS-Themas und E-Mail-Abonnements
Erstelle ein SNS-Thema und dann ein E-Mail-Abonnement.
Eine IAM-Rolle für die Lambda-Funktion erstellen
Gehe wie folgt vor, um eine Rolle für AWS Identity and Access Management (IAM) für die Lambda-Funktion zu erstellen:
- Öffne die IAM-Konsole.
- Wählen Sie im Navigationsbereich Rollen und dann Rolle erstellen aus.
- Wähle die Dropdownliste Service- oder Anwendungsfall aus, wähle Lambda und dann Weiter aus.
- Hänge auf der Seite Berechtigungen hinzufügen die Richtlinien AWSLambdaBasicExecutionRole und AmazonSNSFullAccessan an die Rolle an, und wählen dann Weiter aus.
Wichtig: Die verwaltete AmazonSNSFullAccess-Richtlinie bietet vollen Zugriff auf Amazon SNS. Es ist eine bewährte Methode, dem Prinzip der geringsten geringste Berechtigung zu folgen. - Gib im Feld Rollenname einen Namen für die Rolle ein, und wähle dann Rolle erstellen aus.
Erstellen der Lambda-Funktion
Führe die folgenden Schritte aus:
-
Öffnen Sie die Funktionsseite der Lambda-Konsole.
-
Wählen Sie Erstellen Funktion aus.
-
Wähle Ohne Vorgabe erstellen.
-
Gib im Feld Funktionsname einen Namen für die Funktion ein.
-
Wähle die Dropdownliste Laufzeit und wähle dann Python 3.13.
-
Erweitere Standardausführungsrolle ändern, und wähle dann Eine vorhandene Rolle verwenden aus.
-
Wähle die Dropdownliste Bestehende Rolle aus, und wähle dann die Rolle aus, die du zuvor erstellt hast.
-
Wähle Funktion erstellen.
-
Gib in der Funktion Code Editor den folgenden Python-Codeausschnitt ein:
import boto3 import json sns_arn = "sns_topic_arn" def lambda_handler(event, context): client = boto3.client("sns") resp = client.publish(TargetArn=sns_arn, Message=json.dumps(event), Subject="This is the customized subject line")Hinweis: Ersetze sns_topic_arn durch das Thema Amazon-Ressourcenname (ARN) aus Erstellen eines SNS-Thema und einer E-Mail-Benachrichtigung. Ersetze „Dies ist die benutzerdefinierte Betreffzeile“ durch deine eigene Betreffzeile in Anführungszeichen.
-
Wählen Sie Bereitstellen aus.
Erstellen eine EventBridge-Regel
Folge diesen Anweisungen, um eine EventBridge-Regel zu erstellen.
Hinweis:
- Wähle für Schritt 11 in der AWS-Dokumentation unter ein Ziel auswählen, die Lambda-Funktion, die du zuvor erstellt hast.
- Gib die Payload-Nachricht ein, die du für deine Lambda-Funktion benötigst.
Wenn die EventBridge-Regel aufgerufen wird, führt die Lambda-Funktion einen Publish-API-Aufruf an Amazon SNS durch. Es leitet die Nachricht der Ereignisregel weiter und ändert die Betreffzeile, die es für die Zustellung der Nachricht verwendet. Der Abonnent erhält dann die E-Mail mit der benutzerdefinierten Betreffzeile in seinem Postfach.
Ähnliche Informationen
Wie verwende ich Lambda und Amazon SES zum Senden von E-Mails?
- Themen
- Application Integration
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 8 Monaten
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor einem Jahr