Ich habe eine Lambda-Funktion, die ich von der Client-Seite aufrufen möchte. Ich wollte das API-Gateway verwenden, aber mir fiel ein, dass die wartenden SNS-Funktionen nützlich sein könnten.AWS SNS Pubs aus dem Browser
Nach Recherchen scheint es die einzige Möglichkeit, SNS durch das Javscript SDK zu veröffentlichen, ist auth durch Google/Facebook oder AWS Cognito. Ich möchte, dass Benutzer (insbesondere Ereignisse) in der Lage sind, ohne Authentifizierung vorzustoßen, also ist das keine Option.
Die letzte Option besteht darin, einen AWS-Schlüssel hart zu codieren. Dies wird in den Dokumenten ziemlich ausdrücklich verhindert, aber nachdem ich es untersucht habe, sieht es so aus, als könnte ich Sicherheitsvorkehrungen für einen bestimmten Schlüssel erstellen und ihn auf die Veröffentlichung nur für ein Thema beschränken.
Mit anderen Worten, es würde angeblich eine REST-API nachahmen, oder?
Der einzige Nachteil, den ich mir vorstellen kann, ist böswilliges Spamming des SNS. Ich weiß, dass AWS API Rate-Throttling erlaubt, aber konnte etwas ähnliches auf SNS nicht finden.
So, 2 Verwandte Frage:
Gibt es eine Möglichkeit bösartigen Spam zu einem SNS Thema zu verhindern?
Gibt es andere Nachteile bei der Verwendung von SNS anstelle von AWS API zum Aufrufen von Lambda?
Danksagung! Ich dachte an SNS, da SNS die Zustellung erneut versuchen wird, wenn ein Lambda-Aufruf aufgrund von Nebenläufigkeitsbeschränkungen oder anderen Ursachen für Ausführungsfehler zurückgeworfen wird. Ich habe mich geirrt, dass dies für SNS einzigartig war, obwohl es so aussieht, als würde Lambda selbst die Funktionen wiederholen und ein gewisses Maß an Ausführungsgarantie bieten. Letztendlich denke ich, dass dies nur eine vorzeitige Optimierung meiner Seite war. – Brandon