Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex StoreDoc
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Object Storage
KZ
    • Обзор
    • Бакет
    • Объект
    • Версионирование бакета
    • Блокировка версии объекта (object lock)
    • Частичное изменение объекта
    • Шифрование
    • Жизненные циклы объектов
    • CORS
    • Хостинг статических сайтов
    • Подписанные (pre-signed) URL
    • Составная (multipart) загрузка
    • Список управления доступом (ACL)
    • Политика доступа (Bucket Policy)
    • Загрузка файла через HTML-форму
    • Класс хранилища
    • Выгрузка метаданных объектов
    • Механизм логирования действий с бакетом
    • Резервное копирование
    • Протокол TLS
    • Метки
    • Язык запросов S3 Select
    • Квоты и лимиты
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Одновременное изменение объектов
  • Разрешение конфликтов
  • Спецификация
  1. Концепции
  2. Частичное изменение объекта

Частичное изменение объекта

Статья создана
Yandex Cloud
Обновлена 19 июня 2026 г.
Открыть в Markdown
  • Одновременное изменение объектов
  • Разрешение конфликтов
  • Спецификация

В Object Storage реализован механизм частичного изменения и дозаписи объектов в бакете.

Примечание

Механизм частичного изменения объекта не входит в стандартную функциональность S3 API и доступен для бакетов с выключенным версионированием.

С помощью частичного изменения вы можете хранить в бакете данные, например логи, в виде единого файла, периодически дописывая в него информацию.

Также упрощается работа с большими файлами. Например, чтобы изменить один байт информации в большом файле вы можете использовать:

  • стандартные методы GET и UPLOAD S3 API, полностью скачав и загрузив объект обратно в хранилище;
  • метод PATCH, загрузив в хранилище только изменившуюся или новую часть файла.

Таким образом, частичная перезапись позволяет увеличить скорость работы с Object Storage и уменьшить стоимость.

На стороне сервера при частичном изменении будут перезаписаны:

  • объект целиком, если он изначально был загружен с помощью метода PUT.
  • составные части объекта, попадающие в диапазон изменения, если объект изначально был загружен по частям.

Указанная функциональность реализована в виде метода PATCH и поддержана в GeeseFS.

GeeseFS является рекомендованным инструментом для частичного изменения объектов в бакете.

Также вы можете напрямую отправлять запросы patch к Object Storage API, либо расширить набор методов AWS SDK, воспользовавшись спецификацией метода patch.

Одновременное изменение объектовОдновременное изменение объектов

В Object Storage поддерживается одновременное частичное изменение объектов.

При частичном изменении каждый параллельный запрос выполняется на собственном снимке объекта, таким образом, разные запросы на изменение одного и того же объекта обрабатываются независимо.

Все изменения при параллельных запросах применяются атомарно.

Разрешение конфликтовРазрешение конфликтов

Для одновременного частичного изменения реализован механизм разрешения конфликтов.

При успешном разрешении конфликта применяется то изменение, которое было произведено позднее.

Количество попыток перезаписи ограничено на стороне сервера. Если серверу не удается разрешить конфликты, пользователю возвращается ответ с ошибкой ConcurrentUpdatesPatchConflict.

СпецификацияСпецификация

"PatchObject":{
  "name":"PatchObject",
  "http":{
    "method":"PATCH",
    "requestUri":"/{Bucket}/{Key+}"
  },
  "input":{"shape":"PatchObjectRequest"},
  "output":{"shape":"PatchObjectOutput"},
  "httpChecksum":{
    "requestAlgorithmMember":"ChecksumAlgorithm",
    "requestChecksumRequired":false
  }
},
"PatchAppendPartSize":{"type": "integer"},
"PatchedObjectInfo":{
  "type":"structure",
  "members":{
    "ETag":{"shape":"ETag"},
    "LastModified":{"shape":"LastModified"}
  }
},
"PatchObjectOutput":{
  "type":"structure",
  "members":{
    "Object":{"shape":"PatchedObjectInfo"}
  }
},
"PatchObjectRequest":{
  "type":"structure",
  "required":[
    "Bucket",
    "Key",
    "ContentRange"
  ],
  "members":{
    "Body":{
      "shape":"Body",
      "streaming":true
    },
    "Bucket":{
      "shape":"BucketName",
      "location":"uri",
      "locationName":"Bucket"
    },
    "ContentLength":{
      "shape":"ContentLength",
      "location":"header",
      "locationName":"Content-Length"
    },
    "ContentMD5":{
      "shape":"ContentMD5",
      "location":"header",
      "locationName":"Content-MD5"
    },
    "ContentRange":{
      "shape":"ContentRange",
      "location":"header",
      "locationName":"Content-Range"
    },
    "IfMatch":{
      "shape":"IfMatch",
      "location":"header",
      "locationName":"If-Match"
    },
    "IfUnmodifiedSince":{
      "shape":"IfUnmodifiedSince",
      "location":"header",
      "locationName":"If-Unmodified-Since"
    },
    "Key":{
      "shape":"ObjectKey",
      "location":"uri",
      "locationName":"Key"
    },
    "PatchAppendPartSize":{
      "shape":"PatchAppendPartSize",
      "location":"header",
      "locationName":"X-Yc-S3-Patch-Append-Part-Size"
    }
  },
  "payload":"Body"
},

Была ли статья полезна?

Предыдущая
Блокировка версии объекта (object lock)
Следующая
Шифрование
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»