Quest for Immutable Static Files Hosting
avodonosov.blogspot.com
avodonosov.blogspot.com
Amazon permission system does not allow such a configuration.
This may help: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET...
I have studied versioning and other aspects of Amazon API, trying to find a way or trick to enforce my rules, but there is no such way.
Or is it that you have to be able to predict the full URL in advance of the upload? In that case, yes, adding a server giving out signed URLs to the bucket is probably the best solution.
Alternatively, if you really want to be sure the content can't change, you can generate a .torrent file from the document, hash it, stick it up on a tracker somewhere, and then give out magnet:?xt=urn:sha1:[...] URNs. Those can't mean anything other than the document they referred to when published, even if you as the server-authority wanted them to!
...
Or, you could try to use DURIs[1] and hope that browsers will advance enough to automatically translate them to Mementos from a TimeGate[2] delivered by your unversioned resource. Sadly, some "standards", aren't. ;)
> Unless you imagine people don't enjoy seeing query-strings in their reports, perhaps.
I am concerned about this a little, although I probably can live with that if everything else works OK.
http://my-bucket.s3.amazonaws.com/log?versionId=L4kqtJlcpXro...
http://my-bucket.s3.amazonaws.com/log?versionId=X4xxxJlcpXro...
http://my-bucket.s3.amazonaws.com/log?versionId=Y4yyyJlcpXro...
Alternatively you could probably make a static web form that does that automatically thus isolating people from the need to understand S3 utilities. You could even make it drag/drop enabled so that literally all one has to do to upload a file is drag it to a web page.
".write":"!data.exists()"
And people will be able to write only new items.