Creando un bucket nuevo:
import { Stack, App, aws_s3 as s3 } from 'aws-cdk-lib';
const app = new App();
const stack = new Stack(app, 'MiStack');
new s3.Bucket(stack, 'MiS3Bucket');
Importando un bucket existence, para hacerlo es necesario contar con el ARN del bucket:
import { Stack, App, aws_s3 as s3 } from 'aws-cdk-lib';
const app = new App();
const bucketImportado = s3.Bucket.fromBucketArn(
app,
'bucket-usando-arn',
'ARN_DEL_BUCKET',
);
}
Para asignar permisos simplemente pasar como parametro la funcion lambda (en éste ejemplo):
declare const myLambda: lambda.Function;
const bucket = new s3.Bucket(this, 'MyBucket');
bucket.grantReadWrite(myLambda);
Más detalles en la inglés en la documentación oficial: https://docs.aws.amazon.com/cdk/api/v2//docs/aws-cdk-lib.aws_s3-readme.html