Endpoint API — https://s3.nimbusedge.ru. Хранилище совместимо с Amazon S3, поэтому подойдёт любой S3-клиент. Создайте ключи доступа в консоли и настройте CLI:
# настройка профиля $ aws configure --profile nimbus AWS Access Key ID [None]: AKNIXXXXXXXXXXXXXX AWS Secret Access Key [None]: **** # создать бакет и залить файл $ aws s3 mb s3://media-prod --endpoint-url https://s3.nimbusedge.ru $ aws s3 cp clip.ts s3://media-prod/edge/objects/fetch/ --endpoint-url https://s3.nimbusedge.ru
Запросы подписываются по алгоритму 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://s3.nimbusedge.ru/media-prod/edge/objects/fetch/clip.ts
Временная ссылка выдаёт доступ к объекту без раскрытия ключей. Срок задаётся в секундах:
$ nimbus presign media-prod/edge/objects/fetch/clip.ts --expires 3600 https://s3.nimbusedge.ru/edge/objects/fetch/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://s3.nimbusedge.ru") s3.upload_file("clip.ts", "media-prod", "edge/objects/fetch/clip.ts")
| Параметр | Значение |
|---|---|
| Максимальный размер объекта | 5 ТБ (multipart) |
| Размер части multipart | от 5 МБ |
| Запросов в секунду на бакет | 3 500 PUT / 5 500 GET |
| Длина ключа объекта | 1 024 байта |
Данные размещаются в 9 регионах. Основной регион записи — Москва; доставка выполняется из ближайшего PoP автоматически.
Москва · Санкт-Петербург · Краснодар · Екатеринбург · Новосибирск · Казань и ещё 3 PoP.
Для записи в конкретную точку присутствия используйте региональный endpoint — объект остаётся в этом регионе, доставка идёт из ближайшего PoP:
| Регион | Код | Endpoint |
|---|---|---|
| Москва | ru-msk-1 | https://moscows3.nimbusedge.ru |
| Санкт-Петербург | ru-spb-1 | https://spbs3.nimbusedge.ru |
| Краснодар | ru-krd-1 | https://krasnodars3.nimbusedge.ru |
| Екатеринбург | ru-ekb-1 | https://ekbs3.nimbusedge.ru |
| Новосибирск | ru-nsk-1 | https://nsks3.nimbusedge.ru |
| Казань | ru-kzn-1 | https://kazans3.nimbusedge.ru |