sam local 也可以创建 SNS 主题吗?

red*_*888 4 amazon-web-services aws-lambda aws-sam-cli

我对 sam locals SNS 支持感到困惑。

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

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

小智 6

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

这将创建一个名为“MyLambdaFunction”的 Lambda 函数和一个名为“SNNSTopicName”的 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"
Run Code Online (Sandbox Code Playgroud)

我不确定您是否能够使用现有的 SNS 主题