Upload File To Amazon AWS S3 Bucket
amazon s3
2
White

Văn Đức Thái viết ngày 07/01/2019

1. Tản mạn ngoài lề

alt text

Một vấn đề khá cũ. Chắc nhiều người đã biết và nắm rõ. Mình viết ra đây xem như là note cho bản thân mình.

Mục đích: Lưu trữ file trên Amazon AWS S3

Mình xin nói qua đại ý các bước để upload một file lên Amazon Aws S3 trong bài viết này.

  • Tạo tài khoản trên https://aws.amazon.com/vi/
  • Tạo giao diện để upload file. Ở đây mình sử dụng Laravel
  • Upload file

Let's go.

2. Tạo tài khoản amazon và tạo Bucket để chứa file upload.

Các bạn vào https://aws.amazon.com/vi/s3/ rồi đến Get started with Amazon S3 và đăng ký thôi. Cái điểm lưu ý nhất chắc là ở đoạn nhập tài khoản thẻ. Bạn cần thẻ VISA hoặc thẻ tương tự.
Xong khi đăng ký xong thì sẽ có giao diện như thế này
alt text

Tạo một Bucket để upload file lên

  • Vào Create bucket
  • Name and region: mình để thaivd-demo ở phần Name và chọn Asia Pacific (Tokyo) ở phần Region.
  • Configure options: Mình Next theo mặc định.
  • Set permissions: Mình Next theo mặc định.
  • Review: Create Bucket.

Bạn có thể xem tại đây.
https://www.screencast.com/t/0ZZNvZ6U1ZOq

3. Tạo giao diện để upload file

Ở bài viết này mình sử dụng Laravel. Việc tạo 1 project bằng Homestead đã có hướng dẫn chi tiết tại https://laravel.com/docs/5.7/homestead nên mình không viết vào đây tránh việc bài quá dài.

alt text

a. Mình tạo giao diện để upload file. Ở đây mình tạo file fileUpload.blade.php

alt text

Ở đoạn này có những phần cần chú ý: method="POST", enctype="multipart/form-data", thêm @csrf

b. Chúng ta vào routes/web.php xem cần chú ý gì.
alt text
Ở đây Folder-upload chính là folder chứa những file mình up lên AWS S3. s3 chính là Drives

c. Mình sẽ mở file config/filesystems.php xem có gì liên quan đến s3 này
alt text

Như chúng ta đã thấy thì ở đây có config các thông số liên quan đến AWS: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, AWS_BUCKET, AWS_URL

Các thông số này chứa trong file .env. Vậy

d. Mình sẽ mở file .env (Bạn thêm các thông số vào nếu chưa có)

alt text

Vậy là việc bây giờ chúng ta sẽ tìm các thông số tương ứng để điền vào là gần như hoàn thành.

4. Upload file

Bạn quay lại https://s3.console.aws.amazon.com/s3/home?region=us-east-1
alt text

  • Chọn ở tài khoản mình (thaivd) -> My Security Credentials
  • Chọn Users -> Add user. Ở đây mình tick vào Programmatic accessNext alt text
  • Tiếp sang Attach existing policies directly tìm AmazonS3FullAccess để tick rồi Next: Tags
    alt text

  • Ở đây chúng ta sẽ có 2 thông số AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY để điền vào file .env

alt text

5. Công đoạn cuối

Mình thử upload file xem thế nào thì gặp lỗi này

alt text

Bạn chạy thêm composer require league/flysystem-aws-s3-v3

alt text

Sau đó chạy thêm artisan config:clear để xóa cache --> Quan trọng

Và đây chính là thành quả sau khi upfile. Tà đa

alt text

Có thắc mắc gì thì mọi người cứ comment! Thanks !

Bài Bái

(。◕‿◕。) NyLaa (。◕‿◕。)

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Văn Đức Thái

17 bài viết.
95 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
26 18
1. Tản mạn ngoài lề (Ảnh) MySQL với DB thì có cái quần què gì chứ? Đọc thôi để thấy cũng vài cái hay ho và này nọ. 2. MySQL: MyISAM & InnoDB & ...
Văn Đức Thái viết hơn 1 năm trước
26 18
White
24 13
1. Tản mạn ngoài lề Khuya vật vã. Chẳng ngủ được. Mà chẳng biết làm gì giữa cái lúc dở dở ương ương này. Viết blog vậy :(. Bài viết dành cho các...
Văn Đức Thái viết hơn 1 năm trước
24 13
White
19 3
1. Tản mạn ngoài lề (Ảnh) Khi gặp một vấn đề trong cuộc sống bạn sẽ làm gì? Người yêu đá đít, cuối tháng hết tiền lương, sếp đì trên đi xuống, bl...
Văn Đức Thái viết hơn 1 năm trước
19 3
Bài viết liên quan
White
35 5
(Ảnh) Hai ngày nay mình đã tìm hiểu về Amazon S3, Cloudfront và Letsencrypt để xây dựng 2 trang web static, thứ nhất là trang chủ của (Link) và t...
Giang Nguyen viết gần 3 năm trước
35 5
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
17 bài viết.
95 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!