Verwenden von API Gateway zum Veröffentlichen von SNS-Themen / Multi-Lambda-Funktion mit API Gateway

Im Moment ist meine Anforderung, wann immer ich Daten über die API erhalte, diese an 2-3 verschiedenen Stellen zu speichern (z. B. in meiner eigenen Datenbank, in einem BI-Service und manchmal auch in einer Protokollierungsdatenbank).

Ich weiß nicht, ob es möglich ist, eine einzelne Ressource und eine einzelne Methode in mehrere Lambda-Funktionen zu binden. Mein alternativer Ansatz war also, da ich bereits weiß, wie mehrere Lambda-Funktionen durch Abonnieren des SNS-Themas ausgelöst werden, dass der Rest einfach sein wird, wenn ich das SNS-Thema vom API-Gateway aus irgendwie veröffentlichen kann. Mein aktuelles Denken ist etwas unten:

Aber das Problem ist, dass ich vom API-Gateway aus keine Veröffentlichung im SNS-Thema durchführen kann. Ich erhalte Fehler wieTopicArn or TargetArn Reason: no value for required parameter.

Mein Ansatz ist, ein normales SNS-Thema zu erstellen. Erstellen Sie dann eine spezielle Rollenrichtlinie wie folgt:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "StmtXXXXXXXXXXX",
            "Effect": "Allow",
            "Action": [
                "sns:Publish",
                "sns:Subscribe",
                "sns:Unsubscribe"
            ],
            "Resource": [
                "SNS-TOPIC-ARN"
            ]
        }
    ]
}

Dann eine API mit der POST / GET-Methode erstellen (ich habe beides ausprobiert) und das SNS-Thema als AWS Service Proxy und die Rolle als Ausführungsrolle hinzugefügt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage