Tag: amazon s3

AmazonClientException:数据读取的长度与预期的不同

1.当我使用AmazonS3Client在amazon s3文件存储上传文件时。 2.当我尝试一次上传多个文件时,它会提供exception:但是同一个文件有多个线程。 我尝试了客户端配置,例如:1.connectionTimeout = 50000 in ms 2.maxConnections = 500 3.socketTimeout = 50000 in ms Exception stacktrace: com.amazonaws.AmazonClientException: Data read has a different length than the expected: dataLength=8192; expectedLength=79352; includeSkipped=false; in.getClass()=class com.amazonaws.internal.ResettableInputStream; markedSupported=true; marked=0; resetSinceLastMarked=false; markCount=1; resetCount=0 at com.amazonaws.util.LengthCheckInputStream.checkLength(LengthCheckInputStream.java:150) at com.amazonaws.util.LengthCheckInputStream.read(LengthCheckInputStream.java:110) at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:73) at com.amazonaws.event.ProgressInputStream.read(ProgressInputStream.java:151) at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:73) at org.apache.http.entity.InputStreamEntity.writeTo(InputStreamEntity.java:98) at com.amazonaws.http.RepeatableInputStreamRequestEntity.writeTo(RepeatableInputStreamRequestEntity.java:153) at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:98) at […]

AWS S3 – 列出没有前缀的文件夹中的所有对象

我在检索AWS S3中文件夹内的所有对象(文件名)时遇到问题。 这是我的代码: ListObjectsRequest listObjectsRequest = new ListObjectsRequest() .withBucketName(bucket) .withPrefix(folderName + “/”) .withMarker(folderName + “/”) ObjectListing objectListing = amazonWebService.s3.listObjects(listObjectsRequest) for (S3ObjectSummary summary : objectListing.getObjectSummaries()) { print summary.getKey() } 它返回正确的对象但是带有前缀,例如foldename / filename 我知道我可以使用java或substring来排除前缀,但我只想知道AWS SDK中是否有方法。

如何将某个S3文件标记为Make Public

如何通过webservices API将某个S3文件标记为Make Public。

如何在集成测试中模拟Amazon S3

我正试图让我的应用程序的“行走骨架”将使用S3进行持久化。 我想使用假的S3服务,这样每个开发人员的桌面都可以随意读/写。 我认为mocks3会很完美,因为我可以在我的jUnit测试中得到一个docker服务器。 问题是mocks3不允许任何写入 。 据我所知,甚至没有设置它。 那么别人怎么做呢?

如何从用Java编写的AWS Lambda函数中读取S3文件?

我编写了一个AWS Lambda函数,其目标是在调用时 – 它读取文件的内容,例如x.db,从中获取一个特定的值并返回给调用者。但是这个x.db文件不时变化。 所以我想将这个x.db文件上传到S3并从AWS Lambda函数读取它就像读取文件一样。 File xFile = new File(“S3 file in x.db”); 如何从用Java编写的AWS Lambda函数中读取这样的x.db S3文件?

在Amazon S3中使用KMS密钥解密文件时出错

我正在尝试将Amazon S3用作带加密的文件系统。 我已成功使用KMS加密密钥(服务器端加密)在AWS S3服务器上实现上载文件。 请找到以下工作代码: 对于加密: private static final String AWS_KMS_KEY = “—KMS Key—” private static final String BUCKET_NAME = “—bucket name—” private static final String keyName = “—display key name—” private static final String filePath = “—File Path—” private static final String ACCESS_KEY_ID = “—aws accesskey—” private static final String SECRET_ACCESS_KEY = “—aws secret […]

使用Java将包含文件的目录上载到S3

我正在处理用户将ZIP文件上传到我的服务器的应用程序,在ZIP文件将被扩展的服务器上,然后我需要将其上传到服务器。 现在我的问题是:如何使用Java到S3存储桶上传包含多个文件和子文件夹的目录? 那有什么例子吗? 目前我正在使用JetS3t管理我与S3的所有通信。

将Maven依赖项部署到S3:没有可用的连接器

我正在尝试使用Amazon S3来托管我的Maven工件。 我已将以下内容添加到我的pom.xml中: maven.xxx.com-release AWS S3 Release Repository s3://maven.xxx.com/release maven.xxx.com-snapshot AWS S3 Snapshot Repository s3://maven.xxx.com/snapshot org.springframework.build aws-maven 5.0.0.RELEASE 这工作正常,我的快照存储在S3上。 现在我试图在另一个项目中引用工件: maven.xxx.com-release AWS S3 Release Repository s3://maven.xxx.com/release maven.xxx.com-snapshot AWS S3 Snapshot Repository s3://maven.xxx.com/snapshot true org.springframework.build aws-maven 5.0.0.RELEASE 当我运行$ mvn deploy -X ,我收到以下错误: Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T15:51:42+02:00) Maven home: /usr/local/Cellar/maven/3.2.2/libexec Java version: 1.8.0_11, vendor: Oracle Corporation […]

仅列出s3存储桶中的子文件夹

我有一个s3结构如下: s3bucketname -> List of first level keys -> List of second level keys -> List of third level keys -> Actual file. 我需要做的是,给定s3bucket的名称和第一级密钥的条目,我需要位于第一级密钥下的所有二级密钥的名称。 所以基本上如果我们把它看作文件夹,我会得到root folder的名称,即s3bucketname和其子subfolder1夹subfolder1的名称,我想列出子subfolder1 1中的所有文件subfolder1 。 只是名字,而不是完整的路径。 有人可以指出如何使用亚马逊的java sdk在java中做到这一点吗? 谢谢

使用预先签名的URL通过curl上传到s3(获得403)

我正在使用curl调用Java ReST API来检索URL。 然后,Java使用我的S3凭据生成用于S3上载的预签名URL,并在ReST回复中返回该URL。 Curl获取URL并使用它上传到S3,但S3返回403“我们计算的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。” 这是我用来生成预签名URL的代码: public class S3Util { static final AmazonS3 s3 = new AmazonS3Client( new AWSCredentials() { @Override public String getAWSAccessKeyId() { return “XXXXXXX”; } @Override public String getAWSSecretKey() { return “XXXXXXXXXXXXXX”; } }); static final String BUCKET = “XXXXXXXXXXXXXXXXXXXXXXXXXXX”; static public URL getMediaChunkURL( MediaChunk mc, HttpMethod method ) { String key […]