PUT Object
Добавляет объект в бакет.
Запрос
PUT /{bucket}/{object} HTTP/1.1
Host: s3.inferit.cloud
Заголовки запроса
| Имя | Описание | Допустимые значения | Обязательный |
|---|---|---|---|
| content-md5 | Закодированный в Base64 хеш MD-5 для сообщения. | Строка. Нет значений по умолчанию или ограничений. | Нет |
| content-type | Стандартный MIME-тип. | Любой MIME-тип. По умолчанию: binary/octet-stream. | Нет |
| x-amz-meta-<…> | Пользовательские метаданные. Хранятся вместе с объектом. | Строка до 8 КБ. Нет значений по умолчанию. | Нет |
| x-amz-acl | Готовые правила доступа (ACL). | private, public-read, public-read-write, authenticated-read | Нет |
Copy Object
Чтобы скопировать объект из одного бакета в другой, используйте PUT и укажите бакет назначения и имя объекта.
Запрос
PUT /{dest-bucket}/{dest-object} HTTP/1.1
x-amz-copy-source: {source-bucket}/{source-object}
Заголовки запроса
| Имя | Описание | Допустимые значения | Обязательный |
|---|---|---|---|
| x-amz-copy-source | Имя исходного бакета + имя объекта. | bucket/obj | Да |
| x-amz-acl | Разрешенные ACL. | private, public-read, public-read-write, authenticated-read | Нет |
| x-amz-copy-if-modified-since | Копирует только те объекты, которые были изменены после метки времени. | Временная метка | Нет |
| x-amz-copy-if-unmodified-since | Копируется только в том случае, если не изменен с момента метки времени. | Временная метка | Нет |
| x-amz-copy-if-match | Копируется только в том случае, если ETag объекта совпадает с ETag. | Метка объекта | Нет |
| x-amz-copy-if-none-match | Копирует только в том случае, если ETag объекта не совпадает. | Метка объекта | Нет |
Элементы ответа
| Имя | Тип | Описание |
|---|---|---|
| CopyObjectResult | Container | Контейнер для элементов ответа. |
| LastModified | Date | Дата последнего изменения исходного объекта. |
| Etag | String | ETag нового объекта. |
Пример ответа
<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult xmlns="https://s3.inferit.cloud/doc/2006-03-01/">
<LastModified>2024-11-01T08:26:40.559Z</LastModified>
<ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
</CopyObjectResult>
Delete Object
Удаляет объект.
Запрос
DELETE /{bucket}/{object} HTTP/1.1
Элементы ответа
| HTTP Status | Status Code | Описание |
|---|---|---|
| 204 | No Content | Объект удален |
Get Object
Извлекает объект из контейнера
Запрос
GET /{bucket}/{object} HTTP/1.1
Host: s3.inferit.cloud
Заголовки запроса
| Имя | Описание | Допустимые значения | Обязательный |
|---|---|---|---|
| range | Извлекает часть объекта в байтах | Range: bytes=beginbyte-endbyte | Нет |
| if-modified-since | Получает объект только в том случае, если он был изменен после указанной даты и времени. | Timestamp | Нет |
| if-unmodified-since | Получает объект только в том случае, если он не был изменен после указанной даты и времени. | Timestamp | Нет |
| if-match | Получает только если ETag объекта соответствует ETag | Entity Tag | Нет |
| if-none-match | Получает только если ETag объекта соответствует ETag. | Entity Tag | Нет |
Элементы ответа
| HTTP Status | Status Code | Описание |
|---|---|---|
| 200 | OK | Объект извлечен |
Get Object Info
Возвращает информацию об объекте. Этот запрос возвращает ту же информацию о заголовке, что и запрос Get Object, но включает только метаданные, а не полезную нагрузку данных объекта.
Запрос
HEAD /{bucket}/{object} HTTP/1.1
Заголовки запроса
| Имя | Описание | Допустимые значения | Обязательный |
|---|---|---|---|
| range | Диапазон объекта для извлечения. | Range: bytes=beginbyte-endbyte | Нет |
| if-modified-since | Получает только те изменения, которые были внесены после метки времени. | Timestamp | Нет |
| if-unmodified-since | Получает только в том случае, если не изменен с момента метки времени. | Timestamp | Нет |
| if-match | Получает только в том случае, если ETag объекта совпадает с ETag. | Entity Tag | Нет |
| if-none-match | Получает только в том случае, если ETag объекта совпадает с ETag. | Entity Tag | Нет |