山姆本地也可以创建一个SNS主题吗?

时间:2018-05-30 13:44:44

标签: amazon-web-services aws-lambda aws-sam-cli

我对sam当地人的SNS支持感到困惑。

只能将Lambda指向带有sam模板的现有SNS主题,或者也可以为我创建创建主题吗?

如果可能,我非常想做后者。

1 个答案:

答案 0 :(得分:2)

我不确定何时添加此功能,但是您当前可以使用SAM Local创建SNS主题和Lambda SNS事件...这适用于SAM Local版本0.10.0

这将创建一个名为“ MyLambdaFunction”的Lambda函数,一个名为“ SNSTopicName”的SNS主题,并将两者结合在一起

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: "Test to create Lambda and SNS with SAM Local"
Resources:
  MyLambdaFunction:
    Type: 'AWS::Serverless::Function'
    Properties:
      CodeUri: .
      Runtime: nodejs8.10
      Handler: index.handler
      Description: "Function that is triggered from an SNS topic"
      MemorySize: 128
      Timeout: 10
      Events:
        SNS1:
          Type: SNS
          Properties:
            Topic:
              Ref: LambdaSNSTopic
  LambdaSNSTopic:
    Type: "AWS::SNS::Topic"
    Properties:
      DisplayName: "My SNS topic"
      Subscription:
        -
          Endpoint:
            Fn::GetAtt:
              - "MyLambdaFunction"
              - "Arn"
          Protocol: "lambda"
      TopicName: "SNSTopicName"

我不确定您是否可以使用现有的SNS主题