gpt4 book ai didi

amazon-web-services - AWS CDK 应用程序如何在 "reference"中创建 aws lambda 函数(无需在堆栈中创建新函数)?

转载 作者:行者123 更新时间:2023-12-05 01:32:16 24 4
gpt4 key购买 nike

我在我的 aws 环境中创建了一个名为 add 的 lambda 函数,我正在尝试构建一个 cdk 应用程序,它将生成一个新的 API 网关,然后调用 add .

我正在学习 https://cdkworkshop.com/20-typescript/30-hello-cdk/300-apigw.html 上的教程我注意到我在网上遇到的所有示例似乎都以类似于以下的形式编写代码:

   const hello = new lambda.Function(this, 'HelloHandler', {
runtime: lambda.Runtime.NODEJS_10_X, // execution environment
code: lambda.Code.fromAsset('lambda'), // code loaded from "lambda" directory
handler: 'hello.handler' // file is "hello", function is "handler"
});
const api = new apiGateWay.LambdaRestApi(this, 'api', {
handler: hello
})

上面的例子直接创建了一个新的lambda函数名,里面有HelloHanlder。我想引用我之前创建的函数 add,而不是向堆栈添加任何新的 lambda 函数,大致如下:

    const api = new apiGateWay.LambdaRestApi(this, 'api', {
handler: "add"
})

这可以修复吗?

最佳答案

选项 1:使用函数 Arn 中的现有 Lambda

const hello = lambda.Function.fromFunctionArn(
this,
"hello-lambda",
"arn:aws:lambda:us-east-1:111222233333:function:hello-lambda"
);
new apigw.LambdaRestApi(this, "Endpoint", {
handler: hello,
});

选项 2:您可以将现有的 lambda 导入到新的 CloudFormation 堆栈中,然后导出 Arn 并导入到 CDK 中

关于amazon-web-services - AWS CDK 应用程序如何在 "reference"中创建 aws lambda 函数(无需在堆栈中创建新函数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65695247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com