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