如何调度带自定义环境(含脚本与配置文件)的Vertex AI Notebook执行
Vertex AI Workbench Notebook自动化调度(复刻手动运行环境)
一、固化运行依赖
- 在你的Notebook中执行以下命令,导出当前Python环境的所有依赖到
requirements.txt:pip freeze > requirements.txt - 若存在系统级依赖(如通过
apt-get安装的包),手动记录下来,后续在自定义镜像中配置。
二、同步项目目录到云存储
将包含Notebook、子文件夹、脚本及配置文件的完整项目目录,上传到Google Cloud Storage(GCS)桶,确保调度任务能访问完全一致的文件结构:
gsutil cp -r ./your-project-root gs://your-gcs-bucket/project-files/
三、配置Notebook调度任务
- 打开目标Notebook,点击右上角的调度图标(时钟样式)进入配置页面。
- 基础调度设置:
- 设置任务的触发时间(如每日凌晨1点)。
- 指定任务的名称和描述。
- 环境配置(二选一,推荐第二种):
- 方案1:复用当前Workbench实例环境
选择「使用当前实例的环境」,注意:若实例处于关机状态,调度任务会失败,需配合实例自动启停。 - 方案2:自定义容器(稳定可靠)
- 先基于当前Workbench实例创建自定义镜像:进入实例详情页,点击「创建镜像」,命名后等待镜像生成。
- 在调度配置中选择该自定义镜像,然后添加GCS目录挂载:将
gs://your-gcs-bucket/project-files/your-project-root挂载到容器内的/home/jupyter/work(与手动运行的目录路径一致)。 - 在「启动脚本」中添加初始化命令:
# 安装依赖(若自定义镜像未预先包含) pip install -r /home/jupyter/work/requirements.txt # 切换到项目工作目录 cd /home/jupyter/work
- 方案1:复用当前Workbench实例环境
- 输出配置:指定Notebook执行结果(如生成文件、日志)的存储路径(建议保存到GCS)。
四、验证调度任务
手动触发一次调度任务,通过任务日志确认:
- 项目目录下的所有文件可正常访问
- 依赖安装完成
- Notebook执行结果与手动运行完全一致
五、可选:实例自动启停(适配方案1)
若使用当前实例环境,可通过Cloud Scheduler创建两个辅助任务:
- 调度任务前启动实例:
gcloud compute instances start your-workbench-instance --zone=your-instance-zone - 调度任务完成后关闭实例:
gcloud compute instances stop your-workbench-instance --zone=your-instance-zone
内容的提问来源于stack exchange,提问作者Amit S
相关产品推荐
相关产品推荐

