Ich möchte eine SMS-Nachricht von einer AWS-Lambda-Funktion mit der Boto3-Veröffentlichungsmethode senden, um den Benutzer über Probleme per SMS zu benachrichtigen. Meine Lambda-Funktion ist in Python geschrieben und ich verwende das Modul Boto3. Meine Lambda-Funktion hat volle Rechte an SNS. Ich habe diesen Code,Wie sende ich eine SMS-Nachricht über AWS SNS mit Boto3 in einer AWS Lambda-Funktion?
sns = boto3.client('sns')
sns.publish(
PhoneNumber = '+11234567890',
Message = 'Simple text message'
)
Nach dem boto3 documentation akzeptiert der veröffentlichen Methode die folgenden Parameter,
response = client.publish(
TopicArn='string',
TargetArn='string',
PhoneNumber='string',
Message='string',
Subject='string',
MessageStructure='string',
MessageAttributes={
'string': {
'DataType': 'string',
'StringValue': 'string',
'BinaryValue': b'bytes'
}
}
)
Es erfordert eine „Message“ Parameter und eine der folgenden drei Parameter wie beschrieben in Die Dokumentation:
TopicArn (string) - Das Thema, das Sie veröffentlichen möchten. Wenn Sie keinen Wert für den Parameter TopicArn angeben, müssen Sie einen Wert für die Parameter PhoneNumber oder TargetArn angeben.
TargetArn (string) - Entweder TopicArn oder EndpointArn, aber nicht beides. Wenn Sie keinen Wert für den Parameter TargetArn angeben, müssen Sie einen Wert für die Parameter PhoneNumber oder TopicArn angeben.
PhoneNumber (string) - Die Telefonnummer, an die Sie eine SMS-Nachricht senden möchten . Verwenden Sie das E.164-Format. Wenn Sie keinen Wert für den PhoneNumber-Parameter angeben, müssen Sie einen Wert für die Parameter TargetArn oder TopicArn angeben.
Wenn mein Code ausgeführt wird, wird ein Parameterüberprüfungsfehler zurückgegeben. Darin heißt es,
Unbekannter Parameter in-Eingang: "Phone", muss einer der folgenden sein: TopicArn, TargetArn,> Nachricht, Betreff MessageStructure, MessageAttributes“
So ist die Dokumentation scheint darauf hinzudeuten. dass PhoneNumber ein gültiger Parameter ist, aber wenn es verwendet wird, tritt ein Fehler auf und die Rückmeldung von dem Fehler zeigt an, dass PhoneNumber kein möglicher Parameter ist Ich vermute, dass ich etwas Offensichtliches und Einfaches verpasse, aber etwas Hilfe gebrauchen könnte
I weiß, dass es andere Möglichkeiten gibt, SMS-Nachrichten wie em zu senden ail-Gateways und andere Anbieter lieferten Lösungen wie Twilio, aber ich würde gerne die SNS-basierte Route verfolgen und verstehen, wo ich falsch gelaufen bin.
Hat das letztendlich für Sie funktioniert? Ihre Invokation scheint richtig zu sein, da sie nur für mich funktioniert – Atifm