从AWS下载带有特殊字符“:”的文件

时间:2019-02-20 00:37:32

标签: java amazon-web-services

从aws下载上述文件时遇到了一些麻烦。 我尝试通过CouldBerry Explore和Java下载此文件,但失败了。 aws文件说我需要特殊处理。(https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html) 那么,您能告诉我如何使用“:”来下载此文件吗?

以下是我的文件信息。

文件名:“ E:\ Home \ temp \ test-1_20180101.csv”

对象键:“ testaws / data / E:\ Home \ temp \ test-1_20180101.csv”

当我尝试通过CouldBerry Explore下载文件时,ettro消息为“我们计算出的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。”

我向您展示了Java代码来下载文件

import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.S3ObjectSummary;

...
String prefix ="testaws/data/"
ListObjectsRequest request = new ListObjectsRequest().withBucketName(MY_BUCKET_NAME).withPrefix(prefix).withDelimiter("/");
ObjectListing list = s3.listObjects(request);
List<S3ObjectSummary> summary = list.getObjectSummaries();
...

摘要不包含任何内容,因此似乎无法下载文件。 (显然,我成功下载了没有“:”的文件)

1 个答案:

答案 0 :(得分:1)

我在Mac上使用AWS Command-Line Interface (CLI)测试了此文件,并成功地上传/下载了具有该名称的文件。但是,我必须引用名称,这样反斜杠才不会被解释为转义符:

Static