feat(supabase): 整理 Storage 文档和示例代码
- 创建 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: 功能测试脚本 - 新增 README_STORAGE.md 作为 Storage 使用指南 - 修复签名 URL 生成问题(需要 /storage/v1 前缀) - 测试脚本支持资源已存在的情况 - 所有客户端代码已验证可用 功能特性: ✓ 公网 HTTPS 访问 ✓ 文件上传/下载 ✓ 生成临时下载链接 ✓ 完整的 REST API 客户端 ✓ 支持 Python 和 JavaScript
This commit is contained in:
76
supabase-stack/docs/QUICK_START.md
Normal file
76
supabase-stack/docs/QUICK_START.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Supabase Stack 快速参考
|
||||
|
||||
## 🚀 启动服务
|
||||
|
||||
```bash
|
||||
cd /vol1/1000/docker_server/traefik/supabase-stack
|
||||
|
||||
# 启动所有服务(包含 MinIO 对象存储)
|
||||
docker compose -f docker-compose.yml -f docker-compose.s3.yml up -d
|
||||
|
||||
# 查看状态
|
||||
docker compose ps
|
||||
|
||||
# 查看日志
|
||||
docker compose logs -f storage
|
||||
```
|
||||
|
||||
## 📦 Storage API 访问
|
||||
|
||||
**端点**: `https://amiap.hzau.edu.cn/supa/storage/v1`
|
||||
|
||||
**密钥**:
|
||||
```bash
|
||||
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaXNzIjoic3VwYWJhc2UiLCJpYXQiOjE3NjM4MDI2NjksImV4cCI6MjA3OTE2MjY2OX0.gQWUaTkZ6mjjlv2TED0cODp2meqqWuCGKZR1ptIbovg
|
||||
```
|
||||
|
||||
## 💻 快速使用
|
||||
|
||||
### Python
|
||||
```python
|
||||
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)
|
||||
```
|
||||
|
||||
### JavaScript
|
||||
```javascript
|
||||
const client = new SupabaseStorageClient(
|
||||
'https://amiap.hzau.edu.cn/supa',
|
||||
'your-service-role-key'
|
||||
);
|
||||
|
||||
// 上传文件
|
||||
await client.uploadFile('bucket', fileObject, 'uploads/photo.jpg');
|
||||
|
||||
// 生成临时链接
|
||||
const url = await client.createSignedUrl('bucket', 'uploads/photo.jpg', 3600);
|
||||
```
|
||||
|
||||
## 📚 文档
|
||||
|
||||
- **OPERATIONS_GUIDE.md** - 完整运维指南(必读)
|
||||
- **storage_client.py** - Python 完整客户端代码
|
||||
- **storage_client.js** - JavaScript 完整客户端代码
|
||||
- **test_https_storage.py** - 测试脚本
|
||||
|
||||
## 🧪 测试
|
||||
|
||||
```bash
|
||||
python3 test_https_storage.py
|
||||
```
|
||||
|
||||
## ⚠️ 重要
|
||||
|
||||
- **MinIO 必须运行**:docker-compose.s3.yml 不能删除
|
||||
- **数据位置**:/vol1/1000/s3/stub/
|
||||
- **不要直接访问 MinIO**:统一通过 Storage API
|
||||
Reference in New Issue
Block a user