How can I get Cloudfront to access an image stored in a different S3 bucket

1

I have a S3 bucket which is hosting a static website with a cloudfront distribution in front.

On the website there are a load of images, but because they are so big, I have a Lamdba function which will resize them. So when you upload them to for example www.example.com/pages/Jan/image.jpeg it will also create a resized image stored in the bucket example.com-resized, and it's these images that I need to reference in the HTML of my website, However they just show as a broken image.

My s3 buckets are not public so you get access denied if you try to access them via the URL.

Does anyone know how to do this if it's possible? I can't seem to find any answers. Thanks

1 Risposta
1

Create another origin in cloudfront to point to your other bucket..

EG have a different path /resized to point to your other bucket

OR

update the s3 event only to run the lambda function on a particular Prefix and then keep the resized images in the same bucket in a different prefix/path.

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

profile picture
ESPERTO
con risposta 10 mesi fa
profile pictureAWS
ESPERTO
verificato 10 mesi fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande