8
Czy można pobrać S3object
z Java
bezpośrednio do pamięci i usunąć je po zakończeniu zadania?Jak pobrać obiekt S3 bezpośrednio do pamięci w java
Czy można pobrać S3object
z Java
bezpośrednio do pamięci i usunąć je po zakończeniu zadania?Jak pobrać obiekt S3 bezpośrednio do pamięci w java
Użyj AWS SDK for Java:
http://aws.amazon.com/sdkforjava/
i Apache Commons IO:
Wtedy to wygląda:
AmazonS3 s3 = new AmazonS3Client(credentials); // anonymous credentials are possible if this isn't your bucket
S3Object object = s3.getObject("bucket", "key");
byte[] byteArray = IOUtils.toByteArray(object.getObjectContent());
Nie wiesz, co Cię oznacza przez "get it removed", ale IO Utils zamknie strumień wejściowy obiektu po konwersji go na tablicę bajtów. Jeśli chcesz usunąć obiekt z s3, jest to tak proste, jak:
s3.deleteObject("bucket", "key");
Dziękuję za pomoc! To wymagałoby użycia dodatkowych bibliotek. Czy nie byłoby lepiej, jeśli przechodzę przez strumień wejściowy, aby uzyskać tablicę bajtów? – Manisha
@Manisha, zobacz http://stackoverflow.com/questions/1264709/convert-inputstream-to-byte-array-in-java. –