Mở đầu
Chào các bạn, mình là Nguyễn Hậu từ G1 VJP.
Tiếp nối các bài về AWS mình hôm nay sẽ thử thao tác với S3 bằng tính năng AWS Explorer của Cloud9.
Nếu chưa rõ về Cloud9, các bạn có thể đọc qua bài viết giới thiệu tổng quan về Cloud9 tại bài viết sau.
Lần đầu đụng chạm vào em AWS Cloud9
Bối cảnh
Giả sử mình đang code say sưa bằng Cloud9, thỉnh thoảng muốn thao tác với S3 như:
- Duyệt qua các bucket trên S3.
- Check xem có bucket mình tạo có hay chưa.
- Check xem object đã xóa, upload lên trên S3 chưa.
- Đẩy file trực tiếp lên S3....
Nếu mở thêm tab trình duyệt mới thì cũng hơi mất công, liệu rằng thao tác trực tiếp với S3 từ Cloud9 có giúp mình thay đổi thói quen mở hẳn 1 tab mới với S3 hay không? Hãy cùng mình đánh giá nhé.
Chuẩn bị môi trường
Đầu tiên mình cần có môi trường test là 1 con Cloud9 cấu hình nho nhỏ mặc định cho đỡ tốn tiền, setting không đụng chạm vào 30 phút là tự tắt để cho nhỡ mình có rời đi mà quên không tắt ec2 đi nó lại tính tiền mình.
Bạn nào chưa biết tạo cho mình 1 con Cloud9 thì tham khảo bài viết ở đây nhé.
Tạo Bucket
Rồi, tiếp đến mình thử tạo 1 Bucket xem nào nhé.
Click phải chuột và chọn vào "Create bucket"
Nhập tên Bucket cần tạo.
Như các bạn có thể thấy, trên Cloud9 nó cũng báo cho mình cách nhập tên của Bucket sao cho chuẩn. Điểm này ok. Good.
Mình nhập tên chuẩn thì nó ra thế này.
Bấm Enter theo hướng dẫn và xem kết quả.
Khá buồn là Cloud9 không cập nhật ngay Bucket mình vừa tạo. Mình đã kiểm tra trên console thì thấy bucket đã được tạo. Chắc là trên Cloud9 cần phải refresh gì đó.
=> Điều này thật không tốt chút nào, mình muốn hành động xong phải xem được kết quả ngay và luôn, bao nhiêu việc đang chờ. Vả lại việc không hiển thị thế này không biết là đã thành công hay là do cần thời gian thì mới show ra, hay phải bấm nút nào đó thì mới cập nhật. Điểm này khá tồi. Trừ điểm.
Một lúc sau thì mới thấy Bucket xuất hiện, buồn lòng.
Tạo Folder
Tiếp nè, mình thử test tính năng đẩy file xem sao nhé.
Đẩy thử folder lên xem sao. Click phải chuột vào Bucket, chọn "Create Folder..."
Nhập tên folder
Enter để tạo folder. Ok chức năng này không có gì để nói.
Kiểm tra folder được tạo trên S3
Tiếp tới, check thử đẩy file lên xem sao.
Click phải chuột vào folder rồi click Upload File
Chọn file để upload.
Lưu ý: File upload là file đang nằm trong môi trường của Cloud9
Ok, file đã được upload lên
Xóa Foler
Tiếp tới, thử chức năng xóa xem thế nào nhé.
Đầu tiên thử xóa folder xem thế nào. Oh, không có chức năng xóa folder. Buồn thật sự. Trang doc họ viết nè.
Xóa file
Thử xóa file xem thế nào nhé.
Có cảnh báo trước khi xóa.
Xác nhận xóa trên console
Xóa Bucket
Thử xóa bucket xem thế nào nhé.
Trước khi xóa có confirm, giống với trên Console, phải nhập tên của bucket vào mới được.
Cái này giống trên console nhưng mà với tên bucket hệ thống tự tạo có các ký tự loằng ngoằng thì việc nhập tay (không cho copy) quả là bất tiện, tôi là tôi sẽ bỏ cuộc. Trên console thì chúng ta có thể copy tên bucket để fill vào được. Điểm trừ.
Xác nhận trên console việc xóa bucket. Trên console thì mọi việc đều rất ok.
Thế nhưng trên Cloud9 thì nó vẫn còn hiển thị Bucket đã xóa. Buồn.
Thấy có button refresh. Ấn thử nhưng nó không hoạt động mấy, chắc load cả các resource khác ngoài s3 nên hơi lâu.
Refresh rồi mà nó vẫn không mất đi cái bucket đã xóa. sờ tiu pịt.
Một khuyến cáo từ doc của AWS.
Show một số giới hạn objects trong bucket
Thử tính năng duyệt objects trong Bucket nhé. Thấy có chức năng chỉ show số file nhất định trong bucket ra thôi. Điều này có lợi khi bạn làm việc với Bucket mà có quá nhiều file, hàng trăm hàng ngàn file. Không thể load hết file ra được đúng không, nghe thì có vẻ hợp lý, nào cùng test xem nhé.
Mình thử tạo ra nhiều file trong môi trường Cloud9 và đẩy lên S3 để test.
Chọn nhiều file để đẩy lên 1 lúc cho nhanh.
Và kết quả thật bất ngờ, không đẩy lên được nhiều file 1 lúc các bạn à. Tin được không? thật là buồn lòng.
Thử đẩy nhiều file trong 1 folder xem có gì cải thiện không?
Đầu tiên là cho nhiều file vào 1 folder ở môi trường Cloud9
Rồi bây giờ đẩy 1 folder chứa nhiều file lên xem thế nào.
Không đẩy được các bạn à, chỉ được chọn file thôi, không chọn được folder.
Buồn thêm một điều nữa là: Khi chọn 1 file trong folder thì nó chỉ lấy file và tên file đó để up trực tiếp lên thôi, nó không lấy cái tên folder. Trên console chỉ cần kéo 1 folder vào trình duyệt là bay lên cả cụm rồi, tiện hơn Cloud9 bao nhiêu.
Rồi, nhanh lên nào, vì file ở trong Cloud9 nên nếu download về máy local để rồi lại mở trình duyệt đẩy lên thì đúng là quá tội, nên mình dùng CLI để đẩy lên cho nhanh.
Ok, file đã được đẩy hết lên.
Cài đặt số file show ra trong 1 page.
Mặc định số này là 300 objects/page
Sửa con số thành 3 để test xem thế nào.
Kết quả:
+ Ok, đã thấy load chỉ 3 objects thôi và có Load More.
+ Không OK, không thao tác được với cái Load More, dù cho ấn và đợi rất lâu nhưng không thấy load more gì cả. Thật tệ.
Kết luận
Trên đây mình đã thử thao tác với S3 bằng Cloud9. Có các điểm được và chưa được như mình đã phân tích.
Cá nhân mình thấy thì việc không response lại các thao tác, response chậm là những điều mình khó chấp nhận với chức năng này. Cứ tạo ra 1 tab trên trình duyệt làm việc với S3 cho thoải mái các bạn à.
Leave a Reply