Usando o API Gateway para publicar tópicos do SNS / função lambda múltipla com o API Gateway
No momento, meu requisito é que, sempre que obtenho dados através da API, tenho que salvá-los em 2 a 3 locais diferentes (por exemplo, no meu próprio banco de dados, em algum serviço de BI e, às vezes, em um banco de dados de log).
Não sei se é possível vincular um único recurso e método único a várias funções lambda ou algo assim. Portanto, minha abordagem alternativa foi: como eu já sei como acionar várias funções lambda assinando o tópico do SNS, pensei que talvez de alguma forma eu possa publicar o tópico do SNS no API Gateway, o resto será fácil. Meu pensamento atual é algo abaixo:
Mas o problema é que não consigo publicar no tópico do SNS a partir do API Gateway. Estou recebendo erros comoTopicArn or TargetArn Reason: no value for required parameter
.
Minha abordagem é criar um tópico normal do SNS. Em seguida, crie uma política de função especial como abaixo:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "StmtXXXXXXXXXXX",
"Effect": "Allow",
"Action": [
"sns:Publish",
"sns:Subscribe",
"sns:Unsubscribe"
],
"Resource": [
"SNS-TOPIC-ARN"
]
}
]
}
Em seguida, crie uma API com o método POST / GET (tentei ambos) e adicione o tópico SNS como AWS Service Proxy e a função Role as Execution.