Endpoint API — https://us1.larchdock.com. Хранилище совместимо с Amazon S3, поэтому подойдёт любой S3-клиент. Создайте ключи доступа в консоли и настройте CLI:
# настройка профиля $ aws configure --profile harborline AWS Access Key ID [None]: AKHAXXXXXXXXXXXXXX AWS Secret Access Key [None]: **** # создать бакет и залить файл $ aws s3 mb s3://media-prod --endpoint-url https://us1.larchdock.com $ aws s3 cp clip.ts s3://media-prod/objects/v2/blocks/ --endpoint-url https://us1.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://us1.larchdock.com/media-prod/objects/v2/blocks/clip.ts
Временная ссылка выдаёт доступ к объекту без раскрытия ключей. Срок задаётся в секундах:
$ harbor presign media-prod/objects/v2/blocks/clip.ts --expires 3600 https://us1.larchdock.com/objects/v2/blocks/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://us1.larchdock.com") s3.upload_file("clip.ts", "media-prod", "objects/v2/blocks/clip.ts")
| Параметр | Значение |
|---|---|
| Максимальный размер объекта | 5 ТБ (multipart) |
| Размер части multipart | от 5 МБ |
| Запросов в секунду на бакет | 3 500 PUT / 5 500 GET |
| Длина ключа объекта | 1 024 байта |
Данные размещаются в 13 регионах. Основной регион записи — Нью-Йорк; доставка выполняется из ближайшего PoP автоматически.
Нью-Йорк · Эшберн · Чикаго · Даллас · Лос-Анджелес · Атланта и ещё 7 PoP.