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