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

SageMaker默认S3桶异常:GUI上传文件在Notebook及控制台不可见

问题排查与解决

核心原因:文件实际上传路径和你预期的不一致

SageMaker Studio通过GUI上传的文件,默认不会直接放到S3桶的根目录下,而是存在和你的Studio环境绑定的专属路径里,比如:
s3://<你的默认桶>/sagemaker-studio/<用户配置文件名>/<Domain ID>/<你创建的目录>/

你代码里用的prefix = "folderJustBelowRoot"只指定了目录名,没有包含前面的环境路径,所以list_objects找不到对应内容,S3控制台直接看根目录也看不到文件。

具体解决步骤

1. 确认文件的实际S3路径

在SageMaker Studio的文件浏览器中:

  • 右键点击你上传的文件
  • 选择「Copy S3 URI」
  • 粘贴出来会看到完整路径,比如:s3://sagemaker-abcdef/sagemaker-studio/user-profile-1/d-abc123xyz/folderJustBelowRoot/test.txt

2. 修正代码中的prefix

从完整S3 URI里提取桶名之后的前缀部分,比如上面的例子,prefix应该设为:

prefix = "sagemaker-studio/user-profile-1/d-abc123xyz/folderJustBelowRoot"

然后重新调用API(推荐用更新的list_objects_v2):

import boto3
import sagemaker

sess = sagemaker.Session()
bucket = sess.default_bucket()
# 替换成你复制的前缀
prefix = "sagemaker-studio/user-profile-1/d-abc123xyz/folderJustBelowRoot"

conn = boto3.client('s3')
response = conn.list_objects_v2(Bucket=bucket, Prefix=prefix)
# 现在应该能看到'Contents'键
print(response.get('Contents', []))

3. 在S3控制台找到文件

  • 直接把复制的完整S3 URI粘贴到S3控制台的搜索框,回车就能定位到文件
  • 或者手动导航:进入你的默认S3桶 → 打开sagemaker-studio文件夹 → 逐层进入你的用户配置文件夹、Domain ID文件夹,就能找到你创建的目录和上传的文件

补充说明

S3的list_objects/list_objects_v2 API有个特性:如果指定的Prefix下没有匹配的对象,响应里不会包含Contents键,哪怕HTTP状态码是200(这只代表请求本身成功,不代表有匹配内容)。所以只要修正prefix到正确路径,就能拿到预期的Contents数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:25:23