com.amazonaws.services.s3.model.AmazonS3Exception:指定的键不存在 服务:Amazon S3;状态代码:404;错误代码:NoSuchKey

问题描述

我正试图从S3存储桶中获取数据,但是我得到的密钥为null。

这是我的代码

    @Value("${base.location}")
    private String keyname;

    @Value("${os.s3.key}")
    private String fileName;

    @Autowired
    ReadFromS3 readFromS3;

    StringBuilder fileURI = new StringBuilder(keyname);
    fileURI.append(fileName);
  
    InputStream ts = readFromS3.getResourceStream(fileURI.toString()); //null Pointer Exception

这是我的application.properties文件

           base.location=option/output_files
           os.s3.key =${S3_KEYNAME}
           S3_KEYNAME =MY_FILE.txt

这是我的getResourceStream方法

@Override
public InputStream getResourceStream(String keyName) {

    S3ObjectInputStream s3objectStream = s3client.getobject(new GetobjectRequest(bucketName,keyName))
            .getobjectContent();
    return s3objectStream; // The specified key does not exist.
}

I added Loggers and the keyname is option/output_files/MY_FILE.txt

我不明白“指定密钥”的含义。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)