Amazon S3 добавляет новую функциональность для условной записи
Теперь Amazon S3 может выполнять условную запись, оценивая, не изменился ли объект, прежде чем обновлять его. Это помогает координировать одновременную запись в один и тот же объект и предотвращает непреднамеренную перезапись объекта несколькими одновременными авторами, которые не знают состояние его содержимого. Вы можете использовать эту возможность, указав ETag объекта с помощью запросов API S3 PutObject или CompleteMultipartUpload в корзинах S3 общего назначения и в корзинах каталогов.
Условная запись упрощает процесс параллельного обновления данных в общих наборах, осуществляемого распределенными приложениями с множеством клиентов. Подобно использованию условного заголовка HTTP if-none-match для проверки существования объекта перед созданием теперь клиенты могут выполнять проверки Etag объекта, отражающего изменения в объекте, с помощью заголовка HTTP if-match в запросе API во время условной записи. Затем S3 оценивает, соответствует ли ETag объекта значению, указанному в запросе API, до завершения записи и предотвращает перезапись объекта клиентами до тех пор, пока условие не будет выполнено. Этот новый условный заголовок поможет повысить эффективность крупномасштабной аналитики, распределенного машинного обучения и других рабочих нагрузок с высокой степенью параллелизма, надежно перенося операции сравнения и обмена в S3.
Эта новая функция условной записи доступна без дополнительной платы во всех регионах AWS. Условную запись можно выполнять с помощью SDK, API или CLI для AWS. Подробнее об условной записи см. в Руководстве пользователя S3.