170 lines
3.7 KiB
Markdown
170 lines
3.7 KiB
Markdown
# MinIO连接测试结果
|
||
|
||
## ✅ 测试结果:全部通过
|
||
|
||
### 测试时间
|
||
2025-12-05 09:56:20
|
||
|
||
### 测试配置
|
||
- **端点**: `minio.datacubeworld.com:9000`
|
||
- **使用HTTPS**: 是
|
||
- **存储桶**: `finyx`
|
||
- **访问密钥**: `JOLXFXny3avFSzB0uRA5`
|
||
- **密钥**: `G1BR8jStNfovkfH5ou39EmPl34E4l7dGrnd3Cz0I`
|
||
|
||
---
|
||
|
||
## 📋 测试项目结果
|
||
|
||
| 测试项目 | 状态 | 说明 |
|
||
|---------|------|------|
|
||
| MinIO连接 | ✅ 通过 | 连接成功,可以访问MinIO服务 |
|
||
| 存储桶存在 | ✅ 通过 | 目标存储桶 `finyx` 存在 |
|
||
| 列出对象 | ✅ 通过 | 可以正常列出存储桶中的对象 |
|
||
| 文件上传 | ✅ 通过 | 测试文件上传成功 |
|
||
| URL生成 | ✅ 通过 | 预签名URL生成成功 |
|
||
| URL下载 | ✅ 通过 | 通过URL可以成功下载文件 |
|
||
|
||
**通过率: 5/5 (100%)**
|
||
|
||
---
|
||
|
||
## 🔍 详细测试结果
|
||
|
||
### 1. 连接测试
|
||
- ✅ MinIO服务器连接成功
|
||
- ✅ 可以列出所有存储桶
|
||
- ✅ 目标存储桶 `finyx` 存在且可访问
|
||
|
||
### 2. 文件上传测试
|
||
- ✅ 成功创建测试文件
|
||
- ✅ 成功上传到MinIO
|
||
- ✅ 文件路径: `/615873064429507639/TEST/2025/12/test_file_20251205095620.txt`
|
||
|
||
### 3. URL生成测试
|
||
- ✅ 预签名URL生成成功
|
||
- ✅ URL有效期: 7天
|
||
- ✅ URL格式正确,包含所有必要的签名参数
|
||
|
||
### 4. 下载测试
|
||
- ✅ 通过预签名URL可以成功下载文件
|
||
- ✅ HTTP状态码: 200
|
||
- ✅ 文件内容完整正确
|
||
- ✅ 内容类型识别正确: `text/plain; charset=utf-8`
|
||
|
||
---
|
||
|
||
## 📝 配置验证
|
||
|
||
### 正确的配置方式
|
||
|
||
```python
|
||
MINIO_CONFIG = {
|
||
'endpoint': 'minio.datacubeworld.com:9000', # 注意:去掉协议前缀
|
||
'access_key': 'JOLXFXny3avFSzB0uRA5',
|
||
'secret_key': 'G1BR8jStNfovkfH5ou39EmPl34E4l7dGrnd3Cz0I',
|
||
'secure': True # 使用HTTPS
|
||
}
|
||
```
|
||
|
||
### 重要提示
|
||
|
||
1. **endpoint格式**
|
||
- ✅ 正确: `minio.datacubeworld.com:9000`
|
||
- ❌ 错误: `https://minio.datacubeworld.com:9000/`
|
||
- 说明: endpoint不应该包含协议前缀(`https://`)和末尾斜杠(`/`)
|
||
|
||
2. **secure参数**
|
||
- 设置为 `True` 表示使用HTTPS
|
||
- 设置为 `False` 表示使用HTTP
|
||
|
||
3. **存储桶名称**
|
||
- 存储桶 `finyx` 已存在,可以直接使用
|
||
|
||
---
|
||
|
||
## 🔗 URL访问方式
|
||
|
||
### 预签名URL(推荐)
|
||
|
||
生成预签名URL,有效期7天:
|
||
|
||
```python
|
||
from datetime import timedelta
|
||
|
||
url = client.presigned_get_object(
|
||
bucket_name,
|
||
object_name,
|
||
expires=timedelta(days=7)
|
||
)
|
||
```
|
||
|
||
**特点:**
|
||
- ✅ 安全,带有签名验证
|
||
- ✅ 可以设置有效期
|
||
- ✅ 无需公开存储桶访问权限
|
||
|
||
### 公共URL(如果存储桶是公共的)
|
||
|
||
```
|
||
https://minio.datacubeworld.com:9000/finyx/{object_name}
|
||
```
|
||
|
||
**注意:** 这种方式需要存储桶设置为公共访问。
|
||
|
||
---
|
||
|
||
## 💡 使用建议
|
||
|
||
### 1. 文件路径存储
|
||
|
||
根据接口文档要求,数据库存储时使用**相对路径**:
|
||
|
||
```python
|
||
# 相对路径格式
|
||
file_path = "/615873064429507639/TEST/2025/12/test_file.txt"
|
||
```
|
||
|
||
### 2. URL生成
|
||
|
||
在实际使用中,建议:
|
||
- 使用预签名URL进行临时访问
|
||
- 根据业务需求设置合适的有效期
|
||
- 不公开存储桶访问权限,保证安全性
|
||
|
||
### 3. 文件组织
|
||
|
||
建议的文件路径组织方式:
|
||
```
|
||
{tenant_id}/TEMPLATE/{year}/{month}/文件名.docx
|
||
{tenant_id}/GENERATED/{year}/{month}/{document_id}/文件名.docx
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ 结论
|
||
|
||
**MinIO配置完全正确,可以正常使用!**
|
||
|
||
所有功能测试通过:
|
||
- ✅ 连接正常
|
||
- ✅ 上传功能正常
|
||
- ✅ URL生成正常
|
||
- ✅ 下载功能正常
|
||
|
||
可以放心使用此配置进行文档生成和存储。
|
||
|
||
---
|
||
|
||
## 📄 测试文件
|
||
|
||
完整的测试脚本:`test_minio_connection.py`
|
||
|
||
可以随时运行此脚本验证MinIO连接状态。
|
||
|
||
---
|
||
|
||
**测试完成时间**: 2025-12-05 09:56:20
|
||
**测试状态**: ✅ 全部通过
|
||
|