使用AWS S3 ListObjectsCommand报错No such key的问题求助
解决ListObjectsCommand报"No such key"错误的方案
核对Bucket名称
代码里的Bucket参数是'bucket-name',必须和实际存储文件的S3 Bucket名称完全匹配,注意Bucket名称区分大小写(部分AWS区域),不能有拼写错误或多余字符。验证Prefix的准确性
你的文件路径是bucket/folder1/folder2/file.webp,要确认S3中确实存在前缀为folder1/folder2/的对象。S3没有真实的文件夹结构,所有"文件夹"都是对象前缀的一部分,只要有对象以该前缀开头,List操作就应该返回结果。检查Prefix是否有空格、特殊字符或拼写错误。检查IAM权限
执行该命令的IAM身份(用户/角色)必须拥有s3:ListBucket权限,权限策略需覆盖目标Bucket,示例策略如下:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::bucket-name", "Condition": { "StringLike": { "s3:prefix": "folder1/folder2/*" } } } ] }权限不足也可能触发类似错误。
临时移除Delimiter测试
先删除Delimiter: '/'参数再执行命令,确认基础的List操作是否能成功。Delimiter会过滤掉前缀之外的层级,可能影响结果返回。
内容的提问来源于stack exchange,提问作者Doggu
相关产品推荐
相关产品推荐

