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

使用R语言aws.s3库访问Wasabi S3存储桶遇权限错误求助

解决R脚本使用aws.s3连接Wasabi存储桶的问题

你的错误根源很明确:脚本里的endpoint_url被注释掉了,导致请求默认发往AWS的S3端点,而你的Wasabi密钥在AWS系统里不被识别,因此出现InvalidAccessKeyId错误。以下是修复方案:

核心修复步骤

  • 取消endpoint_url行的注释,确保指向对应区域的Wasabi官方端点
  • 调用get_bucket时明确指定签名版本(适配Wasabi的V4签名要求)
  • 检查凭证变量是否正确加载,无拼写错误

修改后的完整测试脚本

# 加载所需包
library(aws.s3)
source("../../wasabi_credentials.R")

# 设置凭证环境变量
Sys.setenv("AWS_ACCESS_KEY_ID" = your_access_key_id,
            "AWS_SECRET_ACCESS_KEY" = your_secret_access_key)

# 指定存储桶、区域和Wasabi端点
bucket <- "salurbal-cec"
region <- "us-west-1"  # 必须与存储桶所在区域一致,不要加wasabi前缀
endpoint_url <- "https://s3.us-west-1.wasabisys.com"  # 取消注释,匹配你的存储桶区域

# 列出存储桶内对象(明确指定关键参数)
objects <- get_bucket(
  bucket = bucket,
  region = region,
  endpoint_url = endpoint_url,
  signature_version = "v4",
  use_https = TRUE
)

# 打印结果
print(objects)

额外注意事项

  • 确认存储桶区域与region、endpoint_url完全匹配:比如us-east-1对应https://s3.us-east-1.wasabisys.com,其他区域需对应调整
  • 若仍有问题,可添加verbose = TRUE参数到get_bucket调用中,查看请求的详细日志,确认端点是否正确发送
  • 检查wasabi_credentials.R文件中的变量名是否和脚本里的your_access_key_id、your_secret_access_key完全一致,避免变量名拼写错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:57:39