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

无法从Sagemaker R Studio读取AWS S3中的CSV文件求助

解决AWS S3读取CSV到Sagemaker R Studio的404错误

这个ClientError: 404错误的核心是S3客户端找不到你指定的目标对象,下面是具体排查和解决步骤:

1. 验证Bucket名称与文件路径(Key)的准确性

  • 确认bucket_name变量拼写完全正确,S3 Bucket名称区分大小写,需与控制台显示一致
  • 检查path变量格式:要使用Bucket内的相对文件路径,比如s3://my-bucket/datasets/data.csv对应的Key是datasets/data.csv,不要带s3://前缀
  • 直接登录AWS S3控制台,手动确认目标Bucket下确实存在该文件,且路径与代码中的path完全匹配

2. 检查Sagemaker R Studio的IAM权限

  • 确保Sagemaker使用的IAM角色拥有s3:GetObject权限,策略需覆盖目标Bucket及对象路径,示例权限策略:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your-bucket-name/*"
        }
    ]
}
  • 若使用临时凭证或其他认证方式,需确认凭证有效且具备对应访问权限

3. 配置正确的S3区域

  • S3 Bucket是区域化资源,若初始化boto3客户端时未指定区域,可能连接到默认区域,导致跨区域查找失败。可在初始化时指定Bucket所在区域:
s3 <- boto3$client('s3', region_name='us-east-1') # 替换为你的Bucket实际区域

4. 改用R原生S3工具包(更适配R环境)

使用aws.s3包直接读取CSV,无需通过reticulate调用boto3,Sagemaker环境下会自动适配IAM角色认证,示例代码:

library(aws.s3)
library(readr)

# 直接读取S3对象到数据框
df <- read_csv(get_object(object = "datasets/data.csv", bucket = "your-bucket-name"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 05:05:31