我在S3存储桶上有一些文件,其中包含密钥空间。所有其他在键之间没有空格的文件都将被正确删除,但会留有空格,并引发错误“错误消息:我们计算出的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。(服务:Amazon S3;状态代码:403;错误代码:SignatureDoesNotMatch; ...”
这是实际的代码:
private void deleteFileAndFolder(String bucketName, String folderName, AmazonS3 client) {
List<S3ObjectSummary> fileList = client.listObjects(bucketName, folderName).getObjectSummaries();
for (S3ObjectSummary file : fileList) {
client.deleteObject(bucketName, file.getKey());
}
client.deleteObject(bucketName, folderName);
}
试图从键中删除空间。
String key=StringUtils.replace(file.getKey(), " ", "+");
LOGGER.debug("BucketName:{},fileKey: {}",bucketName,key);
client.deleteObject(bucketName, key);
但它似乎无法正常工作。