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

相关内容

热门资讯

推荐几款新版!微扑克代打,德扑... 推荐几款新版!微扑克代打,德扑ai助手,插件教程(原生存在有挂)1、金币登录送、破产送、升级送、活动...
信息共享!wpk输赢机制,德扑... 信息共享!wpk输赢机制,德扑之星有作弊,揭秘教程(往昔是真的有挂)是一款可以让一直输的玩家,快速成...
科技介绍!微扑克wpk辅助软件... 科技介绍!微扑克wpk辅助软件,aapoker透视辅助,2025新版教程(固有是真的有挂)1、不需要...
信息共享!德扑软件高端,wpk... 信息共享!德扑软件高端,wpk有外挂,安装教程(原本真的有挂);是一款可以让一直输的玩家,快速成为一...
今日重大通报!微扑克有计算器吗... 今日重大通报!微扑克有计算器吗,wepoke计算辅助,高科技教程(都是真的有挂)1、wepoke计算...
传递经验!微扑克俱乐部,aap... 传递经验!微扑克俱乐部,aapoker有外挂,系统教程(往昔是有挂);人气非常高,ai更新快且高清可...
科普!wpk发牌为什么这么离谱... 科普!wpk发牌为什么这么离谱,德扑数据软件,新2025教程(最初真的有挂)您好,德扑数据软件,确实...
每日必看教程!德扑之星能看到底... 每日必看教程!德扑之星能看到底牌吗,wpk有辅助挂,新版2025教程(素来是真的有挂);每日必看教程...
研究成果!wepoke ai代... 研究成果!wepoke ai代打,德州之星外挂,分享教程(真是有挂)1、很好的工具软件,可以解锁游戏...
重大通报!wepower提高中... 重大通报!wepower提高中牌率,wepoke计算辅助,靠谱教程(素来存在有挂)1、超多福利:超高...