Spring Cloud AWS - S3
V tomto rýchlom článku sa budeme zaoberať podporou AWS poskytovanou platformou Spring Cloud - so zameraním na S3.
Séria s obsahom: Tento článok je súčasťou série: • Spring Cloud AWS - S3 (aktuálny článok) • Spring Cloud AWS - EC2• Spring Cloud AWS - RDS
• Spring Cloud AWS - podpora správ
1. Jednoduché stiahnutie S3
Začnime ľahkým prístupom k súborom uloženým na S3:
@Autowired ResourceLoader resourceLoader; public void downloadS3Object (String s3Url) vyvolá IOException {Resource resource = resourceLoader.getResource (s3Url); Súbor stiahnutýS3Object = nový Súbor (resource.getFilename ()); try (InputStream inputStream = resource.getInputStream ()) {Files.copy (inputStream, stiahnutýS3Object.toPath (), StandardCopyOption.REPLACE_EXISTING); }}
2. Jednoduché nahrávanie S3
Môžeme tiež nahrávať súbory:
public void uploadFileToS3 (súbor File, String s3Url) hodí IOException {WritableResource resource = (WritableResource) resourceLoader .getResource (s3Url); try (OutputStream outputStream = resource.getOutputStream ()) {Files.copy (file.toPath (), outputStream); }}
3. Štruktúra URL S3
The s3Url je reprezentovaný vo formáte:
s3: ///
Napríklad ak súbor bar.zip je v priečinku foo na a moje-s3-vedro segment, potom bude adresa URL:
s3: //my-s3-bucket/foo/bar.zip
Môžeme tiež stiahnuť viac objektov naraz pomocou ResourcePatternResolver a porovnávanie vzorov v štýle Ant:
private ResourcePatternResolver resourcePatternResolver; @Autowired public void setupResolver (ApplicationContext applicationContext, AmazonS3 amazonS3) {this.resourcePatternResolver = nový PathMatchingSimpleStorageResourcePatternResolver (amazonS3, applicationContext); } public void downloadMultipleS3Objects (String s3Url) vyvolá IOException {Resource [] allFileMatchingPatten = this.resourcePatternResolver .getResources (s3Url); // ...}}
Webové adresy môžu namiesto presných mien obsahovať zástupné znaky.
Napríklad s3: //my-s3-bucket/**/a*.txt URL rekurzívne vyhľadá všetky textové súbory, ktorých názov začína „a„V ľubovoľnom priečinku súboru moje-s3-vedro.
Všimnite si, že fazuľa ResourceLoader a ResourcePatternResolver sa vytvárajú pri štarte aplikácie pomocou funkcie automatickej konfigurácie Spring Boot.
4. Záver
A máme hotovo - toto je rýchly a podrobný úvod do prístupu k S3 s Spring Cloud AWS.
V ďalšom článku série preskúmame podporu rámca EC2.
Ako obvykle sú príklady k dispozícii na GitHub.
Ďalšie » Spring Cloud AWS - EC2