My current project involves writing the script in cdk
using typescript
.
I'm trying to use an existing bucket
as a trigger for my lambda
function.
const _bucket = s3.Bucket.fromBucketName(this,"frombucket",`vr-${targetEnv}-resource-up-bk`);
lambdaFromContainer_.addEventSource(new S3EventSource(_bucket, {
events: [ s3.EventType.OBJECT_CREATED],
}));
The issue arises when s3.Bucket.fromBucketName
returns IBucket
, causing an error with S3EventSource(_bucket
Argument of type 'IBucket' is not assignable to parameter of type 'Bucket'.
Type 'IBucket' is missing the following properties from type 'Bucket': autoCreatePolicy, lifecycleRules, metrics, cors, and 31 more.ts(2345)
Any ideas on how to resolve this problem?
Interestingly, creating a new Bucket does not result in any errors.
const _bucket = new s3.Bucket(this, 'cdk-out-bk', {
bucketName: `vr-${targetEnv}-resource-up-bk`,
}
lambdaFromContainer_.addEventSource(new S3EventSource(_bucket, {
events: [ s3.EventType.OBJECT_CREATED],
}));