Документация "Инферит Облако"

предоставляет управление бакетами — создание с проверкой уникального имени и ограничений, быстрый просмотр списка, удаление после очистки и детальный запрос информации о содержимом и регионе

Документация на нашем сайте предлагает исчерпывающие инструкции и руководства, созданные для повышения вашей эффективности при работе с облачными сервисами. В ней подробно описаны ключевые функции, процессы настройки инструментов, управление ресурсами, меры безопасности и практические сценарии использования

Операции с бакетами

Общие ограничения при создании бакета

При создании бакета обратите внимание, что:

  • Имя бакета должно быть уникальным;
  • Имя бакета не может быть отформатировано как IP-адрес;
  • Имя может иметь длину от 3 до 63 символов;
  • Имя не может содержать символы верхнего регистра или подчеркивания;
  • Имя должно начинаться со строчной буквы или цифры;
  • Имя бакета должно состоять из одного или нескольких сегментов. Соседние сегменты разделяются одной точкой (.). Имена сегментов могут содержать строчные буквы, цифры и дефисы.

List Buckets

Возвращает список бакетов, созданных пользователем сделавшим запрос

Запрос

GET / HTTP/1.1
Host: s3.inferit.cloud
Authorization: AWS {access-key}:{hash-of-header-and-secret}

Элементы ответа

Имя Тип Описание
DisplayName String Отображаемое имя владельца бакета
ListAllMyBucketsResult Container Контейнер результата вывода
Buckets Container Контейнер для списка бакетов
Bucket Container Контейнер для информации о бакете
Owner Container Контейнер для владельца бакета (ID и DisplayName).
Name String Имя бакета
ID String Идентификатор владельца бакета
CreationDate Date Время UTC, когда был создан контейнер

Пример вывода

<?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.inferit.cloud/doc/2006-03-01/">
    <Owner>
        <ID>testbucket</ID>
        <DisplayName>testbucket</DisplayName>
    </Owner>
    <Buckets>
        <Bucket>
            <Name>test</Name>
            <CreationDate>2024-10-25T14:12:14.816Z</CreationDate>
        </Bucket>
    </Buckets>
</ListAllMyBucketsResult>

Delete Bucket

Удаляет бакет. После удаления, имя бакета доступно для повторного использования.

Внимание! Перед удалением бакета необходимо удалить в нем все объекты!

Запрос

DELETE /{bucket} HTTP/1.1
Host: s3.inferit.cloud
Authorization: AWS {access-key}:{hash-of-header-and-secret}

Элементы ответа

HTTP Статус Код состояния Описание
204 No Content Бакет удален

GET Bucket

Возвращает список объектов бакета.

Запрос

GET /{bucket}?max-keys=25 HTTP/1.1
Host: s3.inferit.cloud

Параметры:

Имя Тип Описание
prefix String Возвращает только объекты, содержащие указанный префикс.
delimiter String Разделитель между префиксом и остальной частью имени объекта.
marker String Начальный индекс для списка возвращаемых объектов.
max-keys Integer Максимальное количество символов для возврата. По умолчанию – 1000.
allow-unordered Boolean Нестандартное расширение. Позволяет возвращать неупорядоченные результаты. Не может использоваться с разделителем.

Коды ответа

HTTP Status Status Code Описание
200 OK Бакеты извлечены

Элементы ответа

Имя Тип Описание
ListBucketResult Entity Контейнер для списка объектов.
Name String Имя бакета содержимое которого будет возвращено.
Prefix String Префикс для ключей объекта.
Marker String Начальный индекс для возвращаемого списка объектов.
MaxKeys Integer Максимальное количество возвращаемых ключей.
Delimiter String Если этот параметр установлен, объекты с одинаковым префиксом будут отображаться в списке CommonPrefixes list.
IsTruncated Boolean если значение true, тогда возвращена только часть содержимого бакета.
CommonPrefixes Container Если несколько объектов содержат один и тот же префикс, они появятся в этом списке.

Пример ответа

<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.inferit.cloud/doc/2006-03-01/">
  <Name>testbucket</Name>
  <Prefix></Prefix>
  <MaxKeys>1</MaxKeys>
  <IsTruncated>true</IsTruncated>
  <Contents>
      <Key>test1</Key>
      <LastModified>2024-10-30T16:52:40.385Z</LastModified>
      <ETag>&quot;d41d8cd98f00b204e9800998ecf8427e&quot;</ETag>
      <Size>0</Size>
      <StorageClass>STANDARD</StorageClass>
      <Owner>
          <ID>testbucket2</ID>
          <DisplayName>testbucket2</DisplayName>
      </Owner>
      <Type>Normal</Type>
  </Contents>
  <Marker></Marker>
  <NextMarker>test1</NextMarker>
</ListBucketResult>

Get Bucket Location

Получает регион бакета. Для вызова этой функции пользователь должен быть владельцем бакета. Бакет можно ограничить регионом, указав LocationConstraint в запросе PUT.

Синтаксис
Добавьте ?location к запросу GET /{bucket} как показано ниже.

GET /{bucket}?location HTTP/1.1
Host: s3.inferit.cloud
Authorization: AWS {access-key}:{hash-of-header-and-secret}

Элементы ответа

Имя Тип Описание
LocationConstraint String Регион в котором находится бакет

Пример ответа

<?xml version="1.0" encoding="UTF-8"?>
<LocationConstraint xmlns="http://s3.inferit.cloud/doc/2006-03-01/">default</LocationConstraint>

Create Bucket

Создает новый бакет. Создать бакет может только авторизованный пользователь.

PUT /{bucket} HTTP/1.1
Host: s3.inferit.cloud
x-amz-acl: public-read-write
Authorization: AWS {access-key}:{hash-of-header-and-secret}

Если имя контейнера уникально, находится в пределах ограничений и не используется, операция будет выполнена успешно с кодом 200. Если имя контейнера уже используется, операция завершится неудачей и вернет код 409

Коды ответа

HTTP Статус Код состояния Описание
409 BucketAlreadyExists Бакет уже существует под владением другого пользователя.

Get Bucket Info (HEAD)

Возвращает только заголовки, содержащие информацию о бакете.

Этот метод полезен для быстрой проверки существования бакета и получения информации о его состоянии и правах доступа без загрузки данных.

Запрос

HEAD /{bucket} HTTP/1.1
Host: s3.inferit.cloud
Authorization: AWS {access-key}:{hash-of-header-and-secret}

Заголовки ответа

Имя Описание
X-RGW-Object-Count Количество объектов в бакете
X-RGW-Bytes-Used Использованный объем в байтах
X-RGW-Quota-User-Size Квота по объему для пользователя, выраженная в байтах
X-RGW-Quota-User-Objects Максимально допустимое количество объектов для пользователя
X-RGW-Quota-Max-Buckets Максимально допустимое количество бакетов для пользователя
X-RGW-Quota-Bucket-Size Максимально допустимый размер бакета
X-RGW-Quota-Bucket-Objects Максимально допустимое количество объектов в бакете
x-amz-request-id Уникальный идентификатор запроса

Get Usage Stats

Получает статистику использования для пользователя.

Запрос

GET /?usage HTTP/1.1
Host: s3.inferit.cloud
Authorization: AWS {access-key}:{hash-of-header-and-secret}

Элементы ответа

Имя Описание
Summary Сводка общей статистики по пользователю.
QuotaMaxBytes Максимальный объем данных, который пользователь может хранить (в байтах)
QuotaMaxBuckets Максимально допустимое количество бакетов для пользователя
QuotaMaxObjCount Максимальное количество объектов, которое пользователь может создать
QuotaMaxObjCountPerBucket Максимальное количество объектов на один бакет
TotalBytes Общий объем данных, хранящийся пользователем, в байтах
TotalBytesRounded Округленный общий объем данных
TotalEntries Общее количество объектов
CapacityUsed Информация об использовании объема данных в каждом бакете
Bucket Имя бакета
Bytes Текущий объем данных, хранящийся в бакете, в байтах
Bytes_Rounded Округленный объем данных в бакете.

Пример ответа

<?xml version="1.0" encoding="UTF-8"?>
<Usage>
    <Entries></Entries>
    <Summary>
        <QuotaMaxBytes>322122547200</QuotaMaxBytes>
        <QuotaMaxBuckets>5</QuotaMaxBuckets>
        <QuotaMaxObjCount>100000</QuotaMaxObjCount>
        <QuotaMaxBytesPerBucket>100000</QuotaMaxBytesPerBucket>
        <QuotaMaxObjCountPerBucket>322122547200</QuotaMaxObjCountPerBucket>
        <TotalBytes>2334258305</TotalBytes>
        <TotalBytesRounded>2343575552</TotalBytesRounded>
        <TotalEntries>4138</TotalEntries>
    </Summary>
    <CapacityUsed>
        <User>
            <Buckets>
                <Entry>
                    <Bucket>testbucket1</Bucket>
                    <Bytes>2334258305</Bytes>
                    <Bytes_Rounded>2343575552</Bytes_Rounded>
                </Entry>
                <Entry>
                    <Bucket>testbucket</Bucket>
                    <Bytes>0</Bytes>
                    <Bytes_Rounded>0</Bytes_Rounded>
                </Entry>
            </Buckets>
        </User>
    </CapacityUsed>
</Usage>
Получить доступ в личный кабинет клиента
Публикации в СМИ
Подключить сервис
Получить демо-доступ
Получить консультацию