in cdk/lib/partners/ACE.ts [176:203]
private createImageProcessingTaskAndRequiredResources(lambdaDependencies: lambda.LayerVersion) {
const imageProcessingLambda = new lambda.Function(this, "ImageLambdaFunction", {
runtime: lambda.Runtime.NODEJS_12_X,
handler: "provider-ace.ProcessImages",
layers: [lambdaDependencies],
memorySize: 1024,
timeout: Duration.minutes(2),
code: lambda.Code.fromAsset(path.join(__dirname, "..", "..", "..", "src", "handlers")),
environment: {
OUTPUT_BUCKET_NAME: this.destinationBucket.bucketName,
}
});
const imageProcessingTask = new tasks.LambdaInvoke(this, `${this.providerIdentifier}-Image`, {
lambdaFunction: imageProcessingLambda,
payloadResponseOnly: true,
payload: TaskInput.fromObject({
"bucketName.$": "$.Image.bucketName",
"objectKey.$": "$.Image.objectKey",
"assetId.$": "$.AssetId"
})
});
this.sourceBucket.grantRead(imageProcessingLambda);
this.destinationBucket.grantReadWrite(imageProcessingLambda);
return imageProcessingTask;
}