无服务器框架未正确配置Lambda订阅SNS主题

时间:2018-12-21 11:14:48

标签: amazon-web-services aws-lambda amazon-sns serverless-framework

我正在尝试使用Serverless Framework实现这种简单的体系结构:

文件上传到S3存储桶-> SNS主题-> 2个Lambda函数

实际上我只是用1个lambda函数进行测试,这是我的代码:

spark.sparkContext.hadoopConfiguration.set("fs.s3.awsAccessKeyId", "")
spark.sparkContext.hadoopConfiguration.set("fs.s3.awsSecretAccessKey", "")

在控制台中,我可以看到Lambda函数已订阅主题:

sns1

但是在Lambda函数中,未在“触发器”部分中设置SNS主题:

sns2

我想念什么吗?

1 个答案:

答案 0 :(得分:1)

好,我知道了!

我必须添加另一个权限以允许Lambda函数由SNS主题触发:

TestLambdaFunctionPermission: 
  Type: AWS::Lambda::Permission
  Properties:
    Action: lambda:InvokeFunction
    Principal: sns.amazonaws.com 
    SourceArn:
      Ref: ImageUploadedTopic
    FunctionName:
      Fn::GetAtt: [ TestLambdaFunction, "Arn" ]

现在在控制台中,我可以将SNS用作Lambda函数的触发器:)