当前位置: 首页 > 知识库问答 >
问题:

AWS:Lambda:以编程方式添加SNS触发器

蔺劲
2023-03-14

我需要将基于“SNS”的触发器添加到Lambda函数中,但要创建事件源映射-AWS CLI命令参考中只显示DynamoDB、Kinesis、SQS。

用于基于SNS、S3等的触发器的aws lambda create event source mapping命令失败,原因是事件源arn:

调用CreateEventSourceMaps操作时发生错误(InvalidParameterValueException):无法识别的事件源,必须是kinesis、Dynamodb流或sqs。不支持的源arn

然而,这些可以通过AWS控制台完成。

有什么想法吗?

共有2个答案

冯和硕
2023-03-14

*提供的cdk构造库链接是用python编写的,但您可以使用一种语言或自己选择的语言

为了在Lambda上设置sns触发器,您必须执行以下操作:1)创建sns主题2)创建Lambda函数3)创建Lambda事件源4)集成所有

您可以使用AWS CDK来完成所有这些创建SNS主题:https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_sns/Topic.html

创建Lambda函数https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_lambda/Function.html

使用functuon\u obj。添加\u ecent\u source(SNS\u obj)以集成所有。

在sns事件上调用您的函数的IAM权限将自动得到处理,您可以在控制台的Lambda权限选项卡下查看。

如果答案有帮助,一定要把它标对。

夏博
2023-03-14

要让SNS触发Lambda,Lambda需要订阅SNS的主题。您可以参考教程:使用AWS Lambda和Amazon Simple Notification Service在消息发布到SNS主题时触发Lambda。

 类似资料:
  • 我正在尝试在Android上添加Wifi网络,我想知道如何连接到不广播其SSID的Wifi网络(它是否有空SSID或带有\0s的清晰SSID)。 这是我目前用于广播其SSID的Wifi网络的内容:

  • 问题内容: 我想在运行时触发一个元素,例如: 要么 如何才能做到这一点? 问题答案: 语法如下: 有关Angular Extend方式的更多信息,请参见此处。 如果使用的是 旧版本的angular ,则应使用 trigger 而不是 triggerHandler 。 如果需要应用停止传播,则可以按以下方式使用此方法:

  • 问题内容: 如果我去这里 然后单击“启动演示模态”,即可完成预期的操作。我将模式用作注册过程的一部分,并且涉及服务器端验证。如果有问题,我想将用户重定向到显示我的验证消息的相同模式。目前,除了用户的物理点击之外,我无法弄清楚如何显示模式。如何以编程方式启动模型? 问题答案: 为了手动显示模式弹出窗口,您必须执行此操作 以前,您需要使用对其进行初始化,以便在您手动执行之前不会显示它。 模态容器的ID

  • 我正在使用高级自定义字段(ACF ),并尝试以编程方式向现有组(group_5621b0871e1b1)添加一个中继器,但它不起作用。相同的代码适用于文本字段,但不适用于repeater。 在我的插件中: 它显示了group_5621b0871e1b1组中的此错误: 我做错什么了吗?有没有可能以编程方式添加一个中继器。

  • 我有一个JPA(Hibernate)项目,其中包含从XML orm.XML和Beans创建的实体,我有一个EntityManager和update、persist、remove、findById、findAll方法,但我需要添加一个过滤器监听器来检查保存、还原等之前和之后的Beans(我需要将一些值设置为null以返回客户机) 问候。

  • 我有一个模型,其中有一个@列(nullable=false)注释HiberNate和所有字段有nullable=false,我想以编程方式添加一些新的注释,如@NotNull和@ApiModelProperty(必需=true)-用于招摇过市。 所以,我希望能够从我的应用程序的模型中解析所有字段,获得现有的注释,并在此基础上添加新的注释。这能做到吗? 更新:问题是每次添加一个新字段,如果它不能为空