Есть ли в ObjectStorage какой-либо механизм, который бы позволял блокировку (например, атомарную операцию для создания объекта, так что операция завершается неудачей, если объект уже существует)?(Под редакцией)
Вы можете использовать HTTP ifMatch и семантику ifNoneMatch при создании объекта.
Заголовок HTTP-запроса If-None-Match делает запрос условным.Для методов GET и HEAD сервер отправит обратно запрошенный ресурс со статусом 200, только если у него нет ETag, совпадающего с заданными.Для других методов запрос будет обработан только в том случае, если в конечном итоге ETag существующего ресурса не соответствует ни одному из перечисленных значений.
Вы можете обратиться к документации API длязначения заголовка, в частности, API вызывает:
Тег сущности (ETag), чтобы избежать совпадения.Единственное допустимое значение - «*», которое указывает, что запрос должен завершиться неудачей, если объект уже существует.Для создания и фиксации составной загрузки это тег сущности целевого объекта.Для загрузки части это тег объекта целевой части.