Ilia Reingold
03/04/2021, 6:00 PMFrank
lambda.Function
with sst.Function
Here is an example https://docs.serverless-stack.com/migrating-from-serverless-framework#serverless-step-functions (Frank
Ilia Reingold
03/04/2021, 6:50 PMgio
05/05/2021, 1:44 PMlambda.Function
with sst.Function
, it seems a conflict type, here’s the code:
import * as sst from '@serverless-stack/resources';
import * as sfn from '@aws-cdk/aws-stepfunctions';
import * as tasks from '@aws-cdk/aws-stepfunctions-tasks';
export class ReservationLifecycleSM extends sfn.StateMachine {
constructor(stack: sst.Stack, app: <http://sst.App|sst.App>, id: string) {
// Define each state
const sWait = new sfn.Wait(stack, 'Wait', {
time: sfn.WaitTime.duration(300),
});
const sHello = new tasks.LambdaInvoke(stack, 'Hello', {
lambdaFunction: new sst.Function(stack, 'Hello', 'hello.main'),
});
const sFailed = new sfn.Fail(stack, 'Failed');
const sSuccess = new sfn.Succeed(stack, 'Success');
super (stack, id, {
definition: sWait
.next(sHello)
.next(
new sfn.Choice(stack, 'Job Approved?')
.when(sfn.Condition.stringEquals('$.status', 'Approved'), sSuccess)
.otherwise(sFailed)
),
});
}
}
gio
05/05/2021, 1:44 PMFrank
Frank
lambdaFunction: new sst.Function(stack, 'Hello', 'hello.main')
to
lambdaFunction: new sst.Function(stack, 'Hello', {
handler: 'hello.main'
})
gio
05/05/2021, 6:10 PMFrank
gio
05/05/2021, 9:23 PM{
"name": "myproj",
"version": "0.1.0",
"private": true,
"scripts": {
"test": "sst test",
"start": "sst start",
"build": "sst build",
"deploy": "sst deploy",
"remove": "sst remove"
},
"devDependencies": {
"@aws-cdk/assert": "1.98.0",
"@types/aws-lambda": "^8.10.70",
"@types/lodash": "^4.14.168"
},
"dependencies": {
"@aws-cdk/assert": "1.98.0",
"@aws-cdk/aws-apigateway": "1.98.0",
"@aws-cdk/aws-apigatewayv2": "1.98.0",
"@aws-cdk/aws-apigatewayv2-integrations": "1.98.0",
"@aws-cdk/aws-certificatemanager": "1.98.0",
"@aws-cdk/aws-cognito": "1.98.0",
"@aws-cdk/aws-dynamodb": "1.98.0",
"@aws-cdk/aws-iam": "1.98.0",
"@aws-cdk/aws-lambda": "1.98.0",
"@aws-cdk/aws-route53": "1.98.0",
"@aws-cdk/core": "1.98.0",
"@serverless-stack/cli": "0.16.0",
"@serverless-stack/resources": "0.16.0",
"axios": "^0.21.1",
"date-fns": "^2.21.1",
"date-fns-tz": "^1.1.4",
"lodash": "^4.17.21"
}
}
Frank
@aws-cdk/aws-stepfunctions
and @aws-cdk/aws-stepfunctions-tasks
Frank
npx run add-cdk @aws-cdk/aws-stepfunctions @aws-cdk/aws-stepfunctions-tasks
to add them to your package.json?gio
05/06/2021, 5:26 AMFrank