Spring Cloud AWS - S3

I denne hurtige artikel vil vi udforske AWS-supporten, der leveres i Spring Cloud-platformen - med fokus på S3.

Indholdsserie: Denne artikel er en del af en serie: • Spring Cloud AWS - S3 (nuværende artikel) • Spring Cloud AWS - EC2

• Spring Cloud AWS - RDS

• Spring Cloud AWS - Messaging Support

1. Simpel S3-download

Lad os starte med let at få adgang til filer, der er gemt på S3:

@Autowired ResourceLoader resourceLoader; offentlig ugyldig downloadS3Object (streng s3Url) kaster IOException {Ressource ressource = resourceLoader.getResource (s3Url); Fil downloadetS3Object = ny fil (resource.getFilename ()); prøv (InputStream inputStream = resource.getInputStream ()) {Files.copy (inputStream, downloadedS3Object.toPath (), StandardCopyOption.REPLACE_EXISTING); }}

2. Enkel S3-upload

Vi kan også uploade filer:

offentlig ugyldig uploadFileToS3 (filfil, streng s3Url) kaster IOException {WritableResource resource = (WritableResource) resourceLoader .getResource (s3Url); prøv (OutputStream outputStream = resource.getOutputStream ()) {Files.copy (file.toPath (), outputStream); }}

3. S3 URL-struktur

Det s3Url er repræsenteret ved hjælp af formatet:

s3: ///

For eksempel hvis en fil bar.zip er i mappen foo på en min-s3-spand bucket, så vil URL'en være:

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

Og vi kan også downloade flere objekter på én gang ved hjælp af ResourcePatternResolver og ant-stil mønster matching:

private ResourcePatternResolver resourcePatternResolver; @Autowired public void setupResolver (ApplicationContext applicationContext, AmazonS3 amazonS3) {this.resourcePatternResolver = ny PathMatchingSimpleStorageResourcePatternResolver (amazonS3, applicationContext); } offentlig ugyldig downloadMultipleS3Objects (String s3Url) kaster IOException {Resource [] allFileMatchingPatten = this.resourcePatternResolver .getResources (s3Url); // ...}}

URL-adresser kan indeholde jokertegn i stedet for nøjagtige navne.

For eksempel s3: //my-s3-bucket/**/a*.txt URL vil rekursivt søge efter alle tekstfiler, hvis navn starter med ‘-en'I enhver mappe i min-s3-spand.

Bemærk, at bønnerne ResourceLoader og ResourcePatternResolver oprettes ved opstart af applikationen ved hjælp af Spring Boot's automatiske konfigurationsfunktion.

4. Konklusion

Og vi er færdige - dette er en hurtig og nøjagtig introduktion til adgang til S3 med Spring Cloud AWS.

I den næste artikel i serien undersøger vi EC2-understøttelsen af ​​rammen.

Som sædvanligt er eksemplerne tilgængelige på GitHub.

Næste » Spring Cloud AWS - EC2

$config[zx-auto] not found$config[zx-overlay] not found