const myStack = new MyStack(app, 'MyStack'); const myLambda = myStack.lambdaFunction;
// Check if the exported item exists if (!myLambda) { throw new Error('No export named myLambda found'); }
// MyStack.ts export const myLambda = new lambda.Function(this, 'MyLambda', { //... });
// UsingStack.ts import { myLambda } from './MyStack';
const usingStack = new UsingStack(app, 'UsingStack'); //... usingStack.addLambda(myLambda);
"Outputs" : { "MyLambdaArn" : { "Description" : "ARN of my Lambda function", "Value" : { "Fn::GetAtt" : [ "MyLambda", "Arn" ] } } }
那么在CDK代码中需要这样使用它:
// UsingStack.ts const myLambdaArn = cdk.Fn.importValue('MyLambdaArn'); const myLambda = lambda.Function.fromFunctionArn(this, 'MyLambda', myLambdaArn); //... usingStack.addLambda(myLambda);