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