AWSCDK:共享Lambda函数在堆栈之间不起作用
创始人
2024-09-24 03:30:58
0

使用 AWS CDK 创建多个堆栈时,可能需要在这些堆栈之间共享 Lambda 函数。然而,在尝试共享 Lambda 函数时,您可能会遇到问题。目前,AWS CDK 不支持将同一个 Lambda 函数添加到多个堆栈中的 CloudFormation 模板。

解决方法是将 Lambda 函数作为构造函数的参数传递给堆栈。这相当于在不同的堆栈中创建两个 Lambda 函数,然后将它们合并成一个。

下面是一个包含共享Lambda函数的AWS CDK TypeScript示例(注意:该代码片段需要aws-cdk-lib和aws-cdk-lib-lambda包):

import * as cdk from 'aws-cdk-lib';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as sns from 'aws-cdk-lib/aws-sns';
import * as snsSubs from 'aws-cdk-lib/aws-sns-subscriptions';
import * as sqs from 'aws-cdk-lib/aws-sqs';

export class SharedLambdaStack extends cdk.Stack {
  public readonly sharedFunction: lambda.Function;

  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // Create the shared Lambda function
    this.sharedFunction = new lambda.Function(this, 'SharedFunction', {
      runtime: lambda.Runtime.NODEJS_14_X,
      handler: 'index.handler',
      code: lambda.Code.fromAsset(`${__dirname}/shared-lambda`),
      memorySize: 256,
      timeout: cdk.Duration.seconds(30),
    });
  }
}

interface SqsS3StackProps extends cdk.StackProps {
  readonly sharedFunction: lambda.Function;
}

export class SqsS3Stack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props: SqsS3StackProps) {
    super(scope, id, props);

    // Create an S3 bucket
    const bucket = new s3.Bucket(this, 'Bucket');

    // Create an SNS topic
    const topic = new sns.Topic(this, 'Topic');

    // Subscribe an SNS topic to the shared Lambda function
    topic.addSubscription(new snsSubs.LambdaSubscription(props.sharedFunction));

    // Create an SQS queue
    const queue = new sqs.Queue(this, 'Queue');

    // Subscribe an SQS queue to the shared Lambda function
    props.sharedFunction.addEventSource

相关内容

热门资讯

4分钟外挂!南通长牌有挂吗,衢... 4分钟外挂!南通长牌有挂吗,衢州都莱辅助器是真是假,必胜教程(有挂秘笈)-哔哩哔哩进入游戏-大厅左侧...
2分钟总结!温州茶苑破解版,威... 2分钟总结!温州茶苑破解版,威信茶馆app插件(一贯是真的挂)-哔哩哔哩一、威信茶馆app插件AI软...
五分钟外挂!贪玩互娱辅助,兴动... 五分钟外挂!贪玩互娱辅助,兴动互娱辅助工具名称,切实教程(新版有挂)-哔哩哔哩1、用户打开应用后不用...
4分钟关于!熟客温州游戏辅助器... 4分钟关于!熟客温州游戏辅助器,潮汕汇辅助器(原来存在有挂)-哔哩哔哩小薇(透视辅助)致您一封信;亲...
八分钟外挂!人海大厅挂什么好,... 八分钟外挂!人海大厅挂什么好,浙江宝宝游戏辅助器是真的嘛,透牌教程(有挂方法)-哔哩哔哩1、玩家可以...
第三分钟专业!新道游辅助软件下... 第三分钟专业!新道游辅助软件下载,新畅游互娱辅助(其实有挂)-哔哩哔哩1、下载好新道游辅助软件下载辅...
第3分钟外挂!微信小程序蜀山辅... 第3分钟外挂!微信小程序蜀山辅助器免费下载,牛财神插件,攻略方法(有挂技术)-哔哩哔哩1、打开软件启...
十分钟推荐!约局吧脚本有用吗,... 十分钟推荐!约局吧脚本有用吗,闲来辅助平台(好像是真的挂)-哔哩哔哩1、约局吧脚本有用吗系统规律教程...
5分钟分享!雀友会广东潮汕辅助... 5分钟分享!雀友会广东潮汕辅助软件,永胜联盟辅助器(其实真的有挂)-哔哩哔哩1、进入到雀友会广东潮汕...
4分钟外挂!福建大玩家辅助下载... 4分钟外挂!福建大玩家辅助下载,掌电竞技辅助器,黑科技教程(有挂教学)-哔哩哔哩1、下载好福建大玩家...