InternNav-Eval-Demo / OSS_MIGRATION_SUMMARY.md
jandan138's picture
change to oss
2bad007

A newer version of the Gradio SDK is available: 5.40.0

Upgrade

OSS 集成修改总结

修改内容

1. 新增文件

  • oss_utils.py: 新建的 OSS 工具模块,包含:

    • OSS 客户端初始化
    • 文件列表获取 (list_oss_files)
    • 文件下载 (download_oss_file)
    • 文件存在检查 (oss_file_exists)
    • 临时目录管理 (get_user_tmp_dir, cleanup_user_tmp_dir)
  • .env.example: OSS 环境变量配置示例

2. 修改的文件

simulation.py

  • 导入 OSS 模块: 添加了 oss_utils 的导入
  • 重写 stream_simulation_results 函数:
    • 支持从 OSS 读取图像文件
    • 使用用户会话级别的临时目录
    • 改进的错误处理和日志记录
  • 重写 create_video_segment 函数:
    • 使用用户特定的临时目录
    • 更好的目录管理
  • 新增 process_remaining_oss_images 函数:
    • 处理 OSS 上剩余的图像文件
  • 改进 convert_to_h264 函数:
    • 更好的 ffmpeg 路径查找
    • 改进的错误处理

app.py

  • 导入 OSS 模块: 添加了 oss_utils 相关导入
  • 重写 run_simulation 函数:
    • 不再检查本地目录是否存在
    • 从 OSS 下载最终视频文件
    • 使用临时目录管理
  • 更新 cleanup_session 函数:
    • 添加了用户临时目录清理

requirements.txt

  • 添加 OSS 依赖: oss2>=2.15.0

README.md

  • 完全重写: 添加了 OSS 配置说明和使用指南

主要变化

1. 数据源变更

  • 之前: 从本地文件系统读取图像和视频
  • 现在: 从阿里云 OSS 读取数据

2. 临时文件管理

  • 之前: 使用固定的系统目录
  • 现在: 为每个用户会话创建独立的临时目录

3. 错误处理

  • 之前: 基本的错误处理
  • 现在: 更全面的错误处理和日志记录

4. 文件下载

  • 之前: 直接读取本地文件
  • 现在: 从 OSS 流式下载文件到临时目录

配置要求

使用此修改后的代码需要:

  1. 安装 oss2 Python 包
  2. 配置以下环境变量:
    • OSS_ACCESS_KEY_ID
    • OSS_ACCESS_KEY_SECRET
    • OSS_ENDPOINT
    • OSS_BUCKET_NAME

向后兼容性

这些修改保持了 API 的兼容性,但改变了数据源。如果需要保持本地文件系统的支持,可以在 oss_utils.py 中添加回退逻辑。