Der Test-Dummy-Server für S3 heißt Fake S3. Ich habe gehört, dass es Ruby zu sein scheint, und da ich ein Java-Shop bin, habe ich nach Java gesucht, aber ich habe [S3 ninja] gefunden (http://s3ninja.net/).
Also lass es uns benutzen. Lass es uns tun. Fake S3 kommt wieder.
Normalerweise scheint es heruntergeladen und verwendet zu werden, aber da es problematisch ist, werde ich es dieses Mal mit maven installieren und es zwingen, mit Junit zu beginnen.
pom.xml
pom.xml
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.91</version>
</dependency>
<dependency>
<groupId>com.scireum</groupId>
<artifactId>s3ninja</artifactId>
<version>2.7</version>
</dependency>
Test.java
static {
//Grabe den gewünschten Ordner
try {
Files.createDirectories(Paths.get("data/s3"));
} catch (IOException e) {
}
//Starten Sie s3ninja
Thread thread = new Thread(() -> {
try {
Method main = Class.forName("IPL").getMethod("main", new Class[] { String[].class });
main.invoke(null, (Object) new String[0]);
} catch (Exception e) {
throw new RuntimeException(e);
}
});
thread.start();
try {
Thread.sleep(1000);//Nur für den Fall
} catch (InterruptedException e) {
}
}
@Test
public void test() throws IOException {
AmazonS3 s3 = AmazonS3Client.builder()
.withEndpointConfiguration(new EndpointConfiguration("http://localhost:9444/s3", null))
.withCredentials(new AWSStaticCredentialsProvider(
new BasicAWSCredentials("AKIAIOSFODNN7EXAMPLE", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY")))
.withPathStyleAccessEnabled(true)
.withClientConfiguration(new ClientConfiguration().withSignerOverride("S3SignerType"))
.build();
//hochladen
s3.putObject(new PutObjectRequest("bucket", "s3test.txt", new File("test.txt")));
//herunterladen
try (S3Object s3Object = s3.getObject(new GetObjectRequest("bucket", "s3test.txt"));
InputStream input = s3Object.getObjectContent()) {
assertThat(IOUtils.toByteArray(input), is(Files.readAllBytes(Paths.get("test.txt"))));
}
}
Referenz: Ich habe einen Ninja namens local S3 eingegeben
Recommended Posts