in cdk/lib/partners/ACE.ts [224:250]
private createMetadataProcessingTaskAndRequiredResources(lambdaDependencies: lambda.LayerVersion) {
const metadataProcessingLambda = new lambda.Function(this, "MetadataLambdaFunction", {
runtime: lambda.Runtime.NODEJS_12_X,
handler: "provider-ace.ProcessMetadata",
layers: [lambdaDependencies],
timeout: Duration.minutes(2),
code: lambda.Code.fromAsset(path.join(__dirname, "..", "..", "..", "src", "handlers")),
environment: {
OUTPUT_BUCKET_NAME: this.destinationBucket.bucketName,
}
});
const metadataProcessingTask = new tasks.LambdaInvoke(this, `${this.providerIdentifier}-Metadata`, {
lambdaFunction: metadataProcessingLambda,
payloadResponseOnly: true,
payload: TaskInput.fromObject({
"bucketName.$": "$.Metadata.bucketName",
"objectKey.$": "$.Metadata.objectKey",
"assetId.$": "$.AssetId"
})
});
this.sourceBucket.grantRead(metadataProcessingLambda);
this.destinationBucket.grantReadWrite(metadataProcessingLambda);
return metadataProcessingTask;
}