我在将所有主题订阅到函数处理程序时遇到困难。
我想做的是这样的:
functions:
xxxxx:
handler:xxxx
events:
- sns: arn:aws:sns:xxxx:xxxxx:*
当我尝试添加没有通配符的所有主题时,我遇到了此错误:
发生错误 bla bla bla - 最终策略大小 (20526( 大于限制 (20480(
如何在避免此问题的同时将所有主题订阅到函数处理程序?
你不能像现在这样使用通配符订阅多个主题(据我所知(。您必须像这样列出每个主题:
functions:
xxxxx:
handler:xxxx
events:
- sns: arn:aws:sns:xxxx:xxxxx:a
- sns: arn:aws:sns:xxxx:xxxxx:b
- sns: arn:aws:sns:xxxx:xxxxx:c
看起来你在这里达到了一个硬限制。
作为一种解决方法,您可以尝试使用相同的处理程序将这些订阅拆分为 2 个 lambda:
functions:
myLambda_A_1:
handler:myHandler1
events:
- sns: arn:aws:sns:xxxx:xxxxx:a
- sns: arn:aws:sns:xxxx:xxxxx:b
- sns: arn:aws:sns:xxxx:xxxxx:c
- ...
myLambda_A_2:
handler:myHandler1 // <= same handler as the previous lambda
events:
- ...
- sns: arn:aws:sns:xxxx:xxxxx:x
- sns: arn:aws:sns:xxxx:xxxxx:y
- sns: arn:aws:sns:xxxx:xxxxx:z