У меня есть стек CDK, который создает лямбда-функции и задачи. Каждая задача использует лямбда-функцию. В настоящее время задача пошаговой функции указывается только на псевдоним $LATEST
. Моя цель - обновить версию или псевдоним лямбда-функций и соответствующим образом обновить задачу пошаговой функции.
Создание лямбды:
createLambda(scope: cdk.Construct, name: string, lambdaPath: string, handler: string = 'app.handler', timeout: number = 900): lambda.Function {
const lambdaFunction = new lambda.Function(scope, name, {
functionName: name,
runtime: lambda.Runtime.NODEJS_10_X,
code: lambda.Code.asset(lambdaPath),
handler: handler,
timeout: Duration.seconds(timeout),
description: `Generated on: ${new Date().toISOString()}`
});
const version = lambdaFunction.addVersion(new Date().toISOString());
new lambda.Alias(scope, `alias-${new Date().toISOString()}`, {
aliasName: 'live',
version: version,
});
return lambdaFunction;
}
создание задачи:
createTask(scope: cdk.Construct,lambdaFunction: lambda.Function,duration: number = 1200,name: string): sfn.Task {
const task = new sfn.Task(scope, name, {
task: new tasks.InvokeFunction(lambdaFunction),
timeout: Duration.seconds(duration)
});
return task;
}
Итак, мой вопрос: Могу ли я указать на конкретную лямбда-версию в задаче пошаговой функции?