How Cloud Storage uses Spanner for consistent bucket listing
cloudplatform.googleblog.com
cloudplatform.googleblog.com
If you want strong consistency for S3 consider something like JuiceFS: https://JuiceFS.io
It wraps your S3 in a strongly consistent and fast POSIX API (aka regular mountable filesystem) and its way less expensive than EFS.
Correction: S3 is strongly consistent after new object puts, but not lists, modifications, and deletes.
Definitely not as convenient but you can get strong consistency if you only rely on new objects.
That being said, I am curious as to how available/consistent S3 is versus Google cloud storage.
These are connected because it means that it's tough to prototype on something cheaper and then switch over.
A great example is Google needed a determinate network so standard TCP/IP would not cut it. But then other things in the infrastructure was needed.
This is the ultimately full stack solution.
Google recently announced some changes with cloud storage and pubsub triggers that potentially means that you could only have this trigger when a file is newly created, not every change. I haven't looked into that yet.
As an aside, it looks as though Google's golang API for GCS has a way to set the policy when you provide the file, so maybe at some point I can close this issue: https://github.com/concourse/semver-resource/issues/61
In addition, caching only applies to objects that are anonymously readable. Private objects are never cached.