0

Amazon SNS bietet eine Möglichkeit, SMS global zu senden.So senden Sie SMS mit Amazon SNS über eine AWS-Lambda-Funktion

Ich möchte SMS von einer Lambda-Funktion senden, wo wir die Handynummer und Textnachricht bereitstellen und SNS verwenden, um diese Nachricht zu übermitteln, aber ich fand keine hilfreiche Dokumentation oder Beispielcode für NodeJS oder Java.

Kann jemand eine Lösung vorschlagen?

Code:

var params = { 
    Message: 'Hi this is message from AWS_SNS', /* required */ 
    MessageAttributes: { 
    someKey: { 
     DataType: 'String' , 
     StringValue: 'String' 
    }, 
     }, 
    MessageStructure: 'String', 
    PhoneNumber: '+91MyNUMBER', 
    Subject: 'MYSubject', 
    //TargetArn: 'arn:aws:sns:us-west-2:798298080689:SMS', 
    //TopicArn: 'arn:aws:sqs:us-west-2:798298080689:SendSMS' 
}; 
sns.publish(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 
}; 

Antwort

2

So müssen Sie Lambda-Funktion schreiben, die irgendwie aufgerufen wird, lassen Sie sich über HTTP-Anforderung sagen, so dass Sie auch Setup-API-Gateway zu routen Verbindungen zu Ihrer Lambda-Funktion benötigen.

Als Nächstes wird Ihre Lambda-Funktion diese Daten an "SNS Topic" senden, während das SMS-Abonnement für neue Daten in diesem "Thema" "abfragt". Sobald irgendwelche Daten in dieses Thema gelangen, wird es durch das Abonnement verbraucht und SMS wird gesendet.

Vor ein paar Tagen schrieb ich einen Beitrag über SNS & Lambda, die Ihnen helfen könnte. Flow, den Sie erreichen wollten, ist dem in diesem Artikel beschriebenen sehr ähnlich.

https://medium.com/@rafalwilinski/use-aws-lambda-sns-and-node-js-to-automatically-deploy-your-static-site-from-github-to-s3-9e0987a073ec#.3x6wbrz91

Dokumentation Seiten, die helfen könnten:

+0

Hi @Rafal Wiliński Ich habe Pushing zu SNS doc adnd in der Lage, Nachricht von einem gültigen TopicARN zu senden, aber wenn ich die Telefonnummer in den Kinderwagen seine wirft es wirft Fehler als {[UnexpectedParameter: Unerwarteter Schlüssel 'PhoneNumber' gefunden in params] Nachricht: 'Unerwarteter Schlüssel \' PhoneNumber \ 'gefunden in params', – user4045063

1

Bitte versuchen Sie es mit der Region explizit auf "-Einstellung us-Ost-1 ". Ich habe es geschafft, SMS nach Indien zu senden, indem ich diese Region explizit setzte. Ich habe es auch mit "ap-south-1" versucht, war aber nicht erfolgreich.