You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用AWS CLI或编程方式操作SageMaker单个Notebook并查看状态?

AWS SageMaker单个Notebook的管理问题

AWS CLI能否单独管理单个Notebook?

  • 不行。原因很明确:
    • AWS CLI的sagemaker命令集只负责整个Notebook Instance的生命周期管理,比如启动/停止实例、查看实例状态(用aws sagemaker start-notebook-instance、aws sagemaker describe-notebook-instance这类命令),根本管不到实例内部的单个.ipynb文件。
    • 实例里的单个Notebook只是存储在文件系统或EFS上的文档,本身没有独立的"运行中/已停止"状态——只有当整个Notebook Instance处于运行状态时,你才能通过Jupyter服务打开Notebook、运行里面的代码单元格,但单个Notebook没有单独的启停操作。

替代的编程实现方式

如果要对单个Notebook的执行操作(比如触发运行)、执行状态(比如是否有单元格在跑)做管理,可以试试这些方法:

1. 调用Jupyter REST API

当Notebook Instance处于运行状态时,Jupyter自带的REST API可以实现单个Notebook的管理:

  • 触发Notebook运行:用curl调用API执行全部或部分单元格,示例:
    curl -X POST http://<你的实例访问地址>/api/contents/<Notebook文件路径>/run \
    -H "Authorization: token <你的Jupyter令牌>" \
    -H "Content-Type: application/json" \
    -d '{"type": "notebook", "content": {"cells": [...], "metadata": {...}}}'
    
  • 查看执行状态:调用API获取对应内核的运行状态,确认是否有任务在执行:
    curl http://<你的实例访问地址>/api/kernels/<内核ID> \
    -H "Authorization: token <你的Jupyter令牌>"
    
    注:Jupyter令牌可以从实例的控制台连接页面获取,或者直接在实例内部的配置文件里读取。

2. 用Python脚本直接操作

在运行中的Notebook Instance上,用nbformat和nbconvert库写脚本,批量执行Notebook并跟踪状态,示例代码:

import nbformat
from nbconvert.preprocessors import ExecutePreprocessor

# 读取目标Notebook文件
with open('my_notebook.ipynb', 'r') as f:
    nb = nbformat.read(f, as_version=4)

# 执行Notebook
ep = ExecutePreprocessor(timeout=600, kernel_name='python3')
try:
    ep.preprocess(nb, {'metadata': {'path': './'}})
    print("Notebook执行完成")
except Exception as e:
    print(f"Notebook执行失败: {str(e)}")

可以把这类脚本做成定时任务或者简单的API服务,实现对单个Notebook的执行控制。

3. SageMaker Studio专属方案(如果用Studio而非传统Notebook Instance)

如果是SageMaker Studio环境,可以通过Lifecycle Config脚本,在用户打开Studio时自动执行Notebook的初始化或运行操作;也可以调用Studio的专属API来管理单个Notebook的会话。

内容的提问来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:55:49