Oracle OCI ObjectStorage - существует ли атомарное создание? - PullRequest
0 голосов
/ 04 декабря 2018

Есть ли в ObjectStorage какой-либо механизм, который бы позволял блокировку (например, атомарную операцию для создания объекта, так что операция завершается неудачей, если объект уже существует)?(Под редакцией)

1 Ответ

0 голосов
/ 04 декабря 2018

Вы можете использовать HTTP ifMatch и семантику ifNoneMatch при создании объекта.

Заголовок HTTP-запроса If-None-Match делает запрос условным.Для методов GET и HEAD сервер отправит обратно запрошенный ресурс со статусом 200, только если у него нет ETag, совпадающего с заданными.Для других методов запрос будет обработан только в том случае, если в конечном итоге ETag существующего ресурса не соответствует ни одному из перечисленных значений.

Вы можете обратиться к документации API длязначения заголовка, в частности, API вызывает:

Тег сущности (ETag), чтобы избежать совпадения.Единственное допустимое значение - «*», которое указывает, что запрос должен завершиться неудачей, если объект уже существует.Для создания и фиксации составной загрузки это тег сущности целевого объекта.Для загрузки части это тег объекта целевой части.

...