Avoiding phantom content on your S3 static site
Table of contents:
It’s spooky season! So in this post, we’re going to explore how to avoid being haunted by content you thought you deleted — but actually didn’t.
Using the CLI
If you’re hosting a static website using AWS S3, one of the easiest ways to update your site is with the sync CLI command:
aws s3 sync <LocalPath> <S3Uri>Whether you’re running the command manually or as part of a CI/CD pipeline, it’s important to note that, by default, it will only add content.
This means that even if you intended to remove a page from your site and removed all links to it, the page could still be accessed by navigating to it directly.
Use the delete flag
In order to delete non-existing content using this command, you’ll have to use the --delete flag.
aws s3 sync <LocalPath> <S3Uri> --deleteJust be careful to only use the --delete flag when you actually want to delete content that isn’t present in the source directory.
Taking precautions
In general, it’s a good idea to run S3 CLI commands with the --dryrun flag to show what actions would be performed without actually performing them.
aws s3 sync <LocalPath> <S3Uri> --delete --dryrunTo read more about this command and other available options, see the documentation.
If you liked this post, click here to subscribe to my mailing list!