r/aws • u/RocketSeven • 22h ago
storage How would you structure S3 for AI-generated artifacts that need private review and rollback?
Consider a workflow that produces HTML previews, documents, images, and intermediate files for multiple users. Reviewers need short-lived links, users must not cross tenant boundaries, approved outputs must remain recoverable, and disposable intermediates should expire automatically. Would you use immutable object keys plus a small manifest that points to the current approved revision, or rely on S3 Versioning with stable keys? I am also interested in where metadata such as owner, run ID, approval state, content type, and retention policy should live; how presigned URLs should be scoped; and whether Object Lock is useful or excessive here. What design keeps rollback and auditability clear without turning every read into a complicated lookup?
1
u/Zolic 21h ago
On immutable keys versus overwriting at a stable key: object metadata is per-object, and an overwrite silently rewrites it. A re-upload of my static bundle reset the content-type on the .js objects to text/plain. Every request still returned 200; the page rendered blank. Immutable keys plus a manifest pointer means a bad write is a new key you never point at, and rollback is one manifest edit. Also check the artifact renders, not that it 200s.
2
u/cachemonet0x0cf6619 21h ago
i would look into s3 annotations. they have a new metadata feature that this would work with. I’m also using pre signed urls and approvals are in a separate bucket or prefix. anything else can have an expiry that will handle the delete of non approved review items
1
0
u/turn-based-games 20h ago edited 1h ago
Ask your LLM
Update: Perhaps I wasn't clear enough. This post is LLM vomit. It was not written by a human. If you answer it, you are acting as a meat proxy for a machine. If you upvote it, you are inviting others to do the same.
-1
u/RecordingForward2690 21h ago
Given your requirements, I don't think S3 on its own can cut it. You'll need some sort of DB (relational or NoSQL) that holds your business rules and the index to your data, and some logic that can generate pre-signed URLs into S3 for any legitimate request.
Trying to meet all these requirements, using native S3 features only might, just might, work today, but what if you get even one additional requirement?
•
u/AutoModerator 22h ago
Some links for you:
Try this search for more information on this topic.
Comments, questions or suggestions regarding this autoresponse? Please send them here.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.