Tavaszi felhő AWS - S3

Ebben a rövid cikkben a Spring Cloud platformon nyújtott AWS-támogatást vizsgáljuk - az S3-ra összpontosítva.

Tartalomsorozat: Ez a cikk egy sorozat része: • Spring Cloud AWS - S3 (aktuális cikk) • Spring Cloud AWS - EC2

• Tavaszi felhő AWS - RDS

• Spring Cloud AWS - Üzenetek támogatása

1. Egyszerű S3 letöltés

Kezdjük azzal, hogy könnyen elérjük az S3-on tárolt fájlokat:

@Autowired ResourceLoader resourceLoader; public void downloadS3Object (String s3Url) dobja az IOException {Resource resource = resourceLoader.getResource (s3Url); Fájl letöltöttS3Object = új fájl (erőforrás.getFilename ()); próbáld ki (InputStream inputStream = resource.getInputStream ()) {Files.copy (inputStream, downloadSSobject.toPath (), StandardCopyOption.REPLACE_EXISTING); }}

2. Egyszerű S3 feltöltés

Fájlokat is feltölthetünk:

public void uploadFileToS3 (fájlfájl, String s3Url) dobja az IOException-t {WritableResource erőforrás = (WritableResource) resourceLoader .getResource (s3Url); try (OutputStream outputStream = resource.getOutputStream ()) {Files.copy (file.toPath (), outputStream); }}

3. S3 URL-felépítés

A s3Url a következő formátumban jelenik meg:

s3: ///

Például, ha egy fájl bar.zip a mappában van foo rajta my-s3-vödör vödör, akkor az URL a következő lesz:

s3: //my-s3-bucket/foo/bar.zip

És több objektumot is letölthetünk egyszerre a használatával ResourcePatternResolver és a Hangya stílusú mintázat:

privát ResourcePatternResolver resourcePatternResolver; @Autowired public void setupResolver (ApplicationContext applicationContext, AmazonS3 amazonS3) {this.resourcePatternResolver = new PathMatchingSimpleStorageResourcePatternResolver (amazonS3, applicationContext); } public void downloadMultipleS3Objects (String s3Url) dobja az IOException {Resource [] allFileMatchingPatten = this.resourcePatternResolver .getResources (s3Url); // ...}}

Az URL-ek helyettesítő karaktereket tartalmazhatnak pontos nevek helyett.

Például a s3: //my-s3-bucket/**/a*.txt URL rekurzívan fogja keresni az összes szövegfájlt, amelynek nevea’Bármelyik mappájában my-s3-vödör.

Vegye figyelembe, hogy a bab ResourceLoader és ResourcePatternResolver az alkalmazás indításakor jönnek létre a Spring Boot automatikus konfigurációs szolgáltatásával.

4. Következtetés

És készen vagyunk - ez egy gyors és pontos bevezetés az S3 eléréséhez a Spring Cloud AWS segítségével.

A sorozat következő cikkében megvizsgáljuk a keretrendszer EC2 támogatását.

Szokás szerint a példák elérhetők a GitHub oldalon.

Következő » Tavaszi felhő AWS - EC2