S3 兼容 API 参考
概述
Memesplora 提供与 AWS S3 兼容的 API,可以使用任何 S3 兼容客户端(如 rclone、AWS CLI、MinIO Client)直接访问存储空间。
端点
S3 API 地址: http://localhost:5213
认证
使用 AWS Signature V4 签名算法。Access Key 和 Secret Key 在 Web 管理界面获取。
支持的 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 协议架构 了解详细设计。