Использование API-шлюза для публикации тем SNS / нескольких лямбда-функций с API-шлюзом
В настоящее время мое требование заключается в том, чтобы всякий раз, когда я получал данные через API, мне приходилось сохранять их в 2-3 разных местах (например, в моей собственной БД, в некоторой службе BI, а также иногда в БД регистрации).
Я не знаю, возможно ли связать один ресурс и один метод в несколько лямбда-функций или около того. Итак, мой альтернативный подход заключался в том, что, поскольку я уже знаю, как запускать несколько лямбда-функций, подписавшись на тему SNS, я подумал, что, возможно, если я смогу каким-либо образом опубликовать тему SNS из API-шлюза, остальное будет легко. Мое текущее мышление кое-что ниже:
Но проблема в том, что я не могу публиковать в теме SNS из API Gateway. Я получаю ошибки какTopicArn or TargetArn Reason: no value for required parameter
.
Мой подход - создать нормальную тему SNS. Затем создайте специальную политику ролей, как показано ниже:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "StmtXXXXXXXXXXX",
"Effect": "Allow",
"Action": [
"sns:Publish",
"sns:Subscribe",
"sns:Unsubscribe"
],
"Resource": [
"SNS-TOPIC-ARN"
]
}
]
}
Затем создал API с методом POST / GET (я попробовал оба) и добавил тему SNS в качестве AWS Service Proxy и роль в качестве роли Execution.