אביב ענן AWS - S3
במאמר מהיר זה, אנו הולכים לחקור את תמיכת AWS הניתנת בפלטפורמת Spring Cloud - תוך התמקדות ב- S3.
סדרת תוכן: מאמר זה הוא חלק מסדרה: • Spring Cloud AWS - S3 (המאמר הנוכחי) • Spring Cloud AWS - EC2• ענן אביב AWS - RDS
• Spring Cloud AWS - תמיכה בהודעות
1. הורדת S3 פשוטה
נתחיל בגישה קלה לקבצים המאוחסנים ב- S3:
@ ResourceLoader ResourceLoader @Autowired; הורדת חלל ציבורית S3Object (מחרוזת s3Url) זורק IOException {Resource resource = resourceLoader.getResource (s3Url); קובץ שהורד S3Object = קובץ חדש (resource.getFilename ()); נסה (InputStream inputStream = resource.getInputStream ()) {Files.copy (inputStream, downloadedS3Object.toPath (), StandardCopyOption.REPLACE_EXISTING); }}
2. העלאת S3 פשוטה
אנו יכולים גם להעלות קבצים:
uploadFilToS3 (קובץ קובץ, מחרוזת s3Url) פולט בטלוויזיה זורק IOException {WritableResource resource = (WritableResource) resourceLoader .getResource (s3Url); נסה (OutputStream outputStream = resource.getOutputStream ()) {Files.copy (file.toPath (), outputStream); }}
3. מבנה URL של S3
ה s3Url מיוצג באמצעות הפורמט:
s3: ///
לדוגמא, אם קובץ bar.zip נמצא בתיקיה foo על my-s3-bucket דלי, ואז כתובת האתר תהיה:
s3: //my-s3-bucket/foo/bar.zip
בנוסף, אנו יכולים גם להוריד מספר עצמים בו זמנית באמצעות ResourcePatternResolver והתאמת דפוס בסגנון נמלה:
פרטי ResourcePatternResolver resourcePatternResolver; @Autowired חלל ריק setupResolver (ApplicationContext applicationContext, AmazonS3 amazonS3) {this.resourcePatternResolver = חדש PathMatchingSimpleStorageResourcePatternResolver (amazonS3, applicationContext); } הורדת חלל ציבורית ציבורית MultipleS3Objects (String s3Url) זורק IOException {Resource [] allFileMatchingPatten = this.resourcePatternResolver .getResources (s3Url); // ...}}
כתובות אתרים יכולות להכיל תווים כלליים במקום שמות מדויקים.
למשל ה s3: //my-s3-bucket/**/a*.txt URL יחפש ברקורסיביות את כל קבצי הטקסט ששמם מתחיל ב- 'א'בכל תיקיה של my-s3-bucket.
שימו לב שהשעועית ResourceLoader ו ResourcePatternResolver נוצרים בעת הפעלת היישום באמצעות תכונת התצורה האוטומטית של Spring Boot.
4. מסקנה
וגמרנו - זהו מבוא מהיר ונקודתי לגישה ל- S3 באמצעות Spring Cloud AWS.
במאמר הבא של הסדרה נחקור את התמיכה ב- EC2 במסגרת.
כרגיל, הדוגמאות זמינות ב- GitHub.
הַבָּא » Spring Cloud AWS - EC2