Endpoint API — https://vk-msk1.larchdock.com. Хранилище совместимо с Amazon S3, поэтому подойдёт любой S3-клиент. Создайте ключи доступа в консоли и настройте CLI:
# настройка профиля $ aws configure --profile kitezh AWS Access Key ID [None]: AKKIXXXXXXXXXXXXXX AWS Secret Access Key [None]: **** # создать бакет и залить файл $ aws s3 mb s3://media-prod --endpoint-url https://vk-msk1.larchdock.com $ aws s3 cp clip.ts s3://media-prod/vault/objects/ --endpoint-url https://vk-msk1.larchdock.com
Запросы подписываются по алгоритму AWS Signature v4. Каждый ключ состоит из Access Key ID и Secret Access Key; секрет показывается один раз при создании. Ротацию ключей можно настроить в консоли.
Поддерживаются основные операции объектного хранилища:
| Операция | Метод | Описание |
|---|---|---|
| PutObject | PUT /{bucket}/{key} | Загрузка объекта |
| GetObject | GET /{bucket}/{key} | Скачивание объекта |
| ListObjectsV2 | GET /{bucket} | Листинг префикса |
| DeleteObject | DELETE /{bucket}/{key} | Удаление объекта |
| CreateMultipartUpload | POST /{bucket}/{key}?uploads | Многочастная загрузка |
$ curl -O https://vk-msk1.larchdock.com/media-prod/vault/objects/clip.ts
Временная ссылка выдаёт доступ к объекту без раскрытия ключей. Срок задаётся в секундах:
$ ktz presign media-prod/vault/objects/clip.ts --expires 3600 https://vk-msk1.larchdock.com/vault/objects/clip.ts?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=3600&X-Amz-Signature=…
Python (boto3):
import boto3 s3 = boto3.client("s3", endpoint_url="https://vk-msk1.larchdock.com") s3.upload_file("clip.ts", "media-prod", "vault/objects/clip.ts")
| Параметр | Значение |
|---|---|
| Максимальный размер объекта | 5 ТБ (multipart) |
| Размер части multipart | от 5 МБ |
| Запросов в секунду на бакет | 3 500 PUT / 5 500 GET |
| Длина ключа объекта | 1 024 байта |
Данные размещаются в 5 регионах. Основной регион записи — Москва; доставка выполняется из ближайшего PoP автоматически.
Москва · Тверь · Ярославль · Рязань · Калуга.
Для записи в конкретную точку присутствия используйте региональный endpoint — объект остаётся в этом регионе, доставка идёт из ближайшего PoP:
| Регион | Код | Endpoint |
|---|---|---|
| Москва | ru-msk-1 | https://vk-msk1.larchdock.com |
| Тверь | ru-tvr-1 | https://tvr.kitezh.cloud |
| Ярославль | ru-yar-1 | https://yar.kitezh.cloud |
| Рязань | ru-rzn-1 | https://rzn.kitezh.cloud |
| Калуга | ru-klg-1 | https://klg.kitezh.cloud |
| Москва, резерв | ru-msk-2 | https://msk2.kitezh.cloud |
| Ярославль, резерв | ru-yar-2 | https://yar2.kitezh.cloud |
Резервные эндпоинты включаются автоматически при недоступности основного — менять настройки клиента не нужно.