S3-совместимый API — справочник
Обзор
Memesplora предоставляет API, совместимый с AWS S3, что позволяет использовать любые S3-совместимые клиенты (например, rclone, AWS CLI, MinIO Client) для прямого доступа к пространствам хранения.
Адрес
S3 API адрес: http://localhost:5213
Аутентификация
Используется алгоритм подписи AWS Signature V4. Access Key и Secret Key можно получить в веб-интерфейсе управления.
Поддерживаемые API
Операции с Bucket
| Операция | HTTP | Путь |
|---|---|---|
| ListBuckets | GET | / |
| HeadBucket | HEAD | /{bucket} |
Операции с объектами
| Операция | HTTP | Путь |
|---|---|---|
| GetObject | GET | /{bucket}/{key} |
| PutObject | PUT | /{bucket}/{key} |
| DeleteObject | DELETE | /{bucket}/{key} |
| HeadObject | HEAD | /{bucket}/{key} |
| ListObjects | GET | /{bucket} |
| ListObjectsV2 | GET | /{bucket}?list-type=2 |
| DeleteObjects | POST | /{bucket}?delete |
| CopyObject | PUT | /{bucket}/{key} (x-amz-copy-source) |
Многочастная загрузка
| Операция | HTTP | Путь |
|---|---|---|
| CreateMultipartUpload | POST | /{bucket}/{key}?uploads |
| UploadPart | PUT | /{bucket}/{key}?partNumber=&uploadId= |
| CompleteMultipartUpload | POST | /{bucket}/{key}?uploadId= |
| AbortMultipartUpload | DELETE | /{bucket}/{key}?uploadId= |
| ListParts | GET | /{bucket}/{key}?uploadId= |
Примеры использования
AWS CLI
bash
aws configure --profile memesplora
aws s3 --endpoint-url http://localhost:5213 ls
aws s3 --endpoint-url http://localhost:5213 cp file.txt s3://my-space/
aws s3 --endpoint-url http://localhost:5213 ls s3://my-space/rclone
bash
rclone config # Выберите S3 Compatible
rclone copy file.txt memesplora:my-space/
rclone ls memesplora:my-space/Детали архитектуры
См. Архитектура S3 протокола для получения подробной информации о проектировании.