# Supabase Storage 对象存储使用指南
完整的 Supabase 对象存储解决方案,支持公网 HTTPS 访问。
---
## 📚 文档导航
### 快速开始
- **[快速入门](docs/QUICK_START.md)** - 5 分钟快速上手指南
- **[运维指南](docs/OPERATIONS_GUIDE.md)** - 完整的系统架构和运维文档
### 集成文档
- **[Vue API 集成](docs/VUE_API_INTEGRATION.md)** - Vue 应用集成指南
- **[部署信息](docs/DEPLOYMENT_INFO.md)** - 部署配置详情
---
## 💻 客户端代码
所有示例代码位于 `examples/` 目录:
### Python 客户端
```bash
# 查看完整客户端代码
cat examples/storage_client.py
# 使用示例
python3 << 'EOF'
import sys
sys.path.insert(0, 'examples')
from storage_client import SupabaseStorageClient
client = SupabaseStorageClient(
'https://amiap.hzau.edu.cn/supa',
'your-service-role-key'
)
# 上传文件
client.upload_file('bucket', 'photo.jpg', 'uploads/photo.jpg')
# 生成临时下载链接
url = client.create_signed_url('bucket', 'uploads/photo.jpg', 3600)
print(f'临时下载链接: {url}')
EOF
```
### JavaScript 客户端
```bash
# 查看完整客户端代码
cat examples/storage_client.js
# 在网页中使用
```
---
## 🧪 测试
运行完整的功能测试:
```bash
# 测试所有 Storage API 功能
python3 examples/test_https_storage.py
```
测试包含:
- ✓ 列出 Buckets
- ✓ 创建 Bucket
- ✓ 上传/更新文件
- ✓ 下载文件
- ✓ 生成签名 URL(临时下载链接)
---
## 🚀 快速开始
### 1. 启动服务
```bash
# 启动 Supabase + MinIO
docker compose -f docker-compose.yml -f docker-compose.s3.yml up -d
```
### 2. 测试服务
```bash
python3 examples/test_https_storage.py
```
### 3. 使用客户端
**Python**:
```python
from examples.storage_client import SupabaseStorageClient
client = SupabaseStorageClient(
'https://amiap.hzau.edu.cn/supa',
'your-api-key'
)
```
**JavaScript**:
```javascript
// 在浏览器中
const client = new SupabaseStorageClient(
'https://amiap.hzau.edu.cn/supa',
'your-api-key'
);
```
---
## 🌐 访问端点
- **Storage API**: `https://amiap.hzau.edu.cn/supa/storage/v1`
- **Dashboard**: `http://100.64.0.2:18000` (内网)
---
## 📂 项目结构
```
supabase-stack/
├── docs/ # 📚 文档
│ ├── QUICK_START.md # 快速入门
│ ├── OPERATIONS_GUIDE.md # 运维指南
│ ├── VUE_API_INTEGRATION.md # Vue 集成
│ ├── DEPLOYMENT_INFO.md # 部署信息
│ └── versions.md # 版本信息
│
├── examples/ # 💻 示例代码
│ ├── storage_client.py # Python 客户端
│ ├── storage_client.js # JavaScript 客户端
│ └── test_https_storage.py # 测试脚本
│
├── docker-compose.yml # Supabase 核心服务
├── docker-compose.s3.yml # MinIO 对象存储
├── .env # 环境变量配置
│
├── README.md # Supabase 原始说明
├── README_STORAGE.md # Storage 使用指南(本文档)
└── CHANGELOG.md # 版本变更记录
```
---
## 🔑 认证密钥
在 `.env` 文件中:
```bash
# 服务密钥(后端使用,完全权限)
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# 匿名密钥(前端使用,受权限控制)
ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```
---
## ⚙️ 服务管理
```bash
# 查看服务状态
docker compose ps
# 查看日志
docker compose logs -f storage
# 重启服务
docker compose restart storage
# 停止服务
docker compose stop
```
---
## 🛠️ 故障排查
查看 [运维指南](docs/OPERATIONS_GUIDE.md) 的故障排查章节。
---
## 📝 更多信息
- **完整文档**: 查看 `docs/` 目录
- **代码示例**: 查看 `examples/` 目录
- **原始 README**: [README.md](README.md)
---
## ✅ 功能特性
- ✅ 公网 HTTPS 访问
- ✅ 子路径支持(无需子域名)
- ✅ 文件上传/下载
- ✅ 生成临时下载链接(签名 URL)
- ✅ Bucket 管理
- ✅ 文件列表/移动/复制/删除
- ✅ Python 和 JavaScript 客户端
- ✅ 完整的 REST API
---
## 🎯 使用场景
1. **Web 应用文件上传** - 用户头像、附件等
2. **临时文件分享** - 生成带过期时间的下载链接
3. **静态资源托管** - 图片、视频、文档
4. **移动应用存储** - 跨平台数据同步
5. **数据备份** - 自动化备份脚本
---
## 📞 技术支持
如有问题,请查看:
1. [快速入门](docs/QUICK_START.md) - 基础使用
2. [运维指南](docs/OPERATIONS_GUIDE.md) - 深入了解
3. 测试脚本 - `python3 examples/test_https_storage.py`
🎉 **开始使用 Supabase Storage!**