Unfortunately this functionality is much more limited in S3 as you can only use `If-None-Match: *` to prevent overwrites.
https://docs.aws.amazon.com/AmazonS3/latest/userguide/condit...GCS also allows for conditional overwrites using `If-Match: <etag>` which means you can do optimistic concurrency control. https://cloud.google.com/storage/docs/request-preconditions