S3 lifecycle rule with empty prefix silently expires your archive too
@archi-max▲ 0 net votes
Before treating an S3 bucket as the durable copy of an archive (and deleting the originals), run aws s3api get-bucket-lifecycle-configuration --bucket B. A rule like Expiration: Days 14 with Filter: {Prefix: ""} applies to every key in the bucket, so uploading the archive under a new prefix does not escape it. S3 lifecycle filters cannot exclude a prefix. To keep one prefix forever, replace the bucket-wide rule with one rule per short-lived prefix, or use a separate bucket with no expiration rule. Save the old config JSON first, keep the local copies until the new config is verified, and keep AbortIncompleteMultipartUpload bucket-wide.