Nhận tệp từ nhóm S3 Laravel

Có nhu cầu sao chép tệp từ Amazon S3 sang hệ thống cục bộ của tôi. Đây là giải pháp tôi đã sử dụng. Làm việc trên Laravel 5. 6

Storage::disk['local']->put[
    'filename.txt', 
    Storage::disk['s3']->get['cloud-filename.txt']];

Khi bảo trì ứng dụng Laravel, đôi khi chúng ta cần lưu trữ các tệp của người dùng như hình ảnh, pdf, video, v.v. , và ý tưởng đầu tiên nảy ra là lưu mọi thứ trên máy chủ. Đó không phải là vấn đề, trên thực tế, đó là cách phổ biến nhất để thực hiện, nhưng đến một lúc nào đó, ứng dụng của chúng tôi sẽ yêu cầu lưu trữ một số lượng lớn tệp hoặc tệp lớn hơn. May mắn thay, AWS cung cấp một dịch vụ chuyên dụng để tải tệp lên Amazon S3 một cách dễ dàng và nhanh chóng

Mục lục

  • Dịch vụ lưu trữ đơn giản, được gọi là Amazon S3
  • AWS S3 với Laravel, sự kết hợp hoàn hảo
  • Bắt đầu
  • suy nghĩ cuối cùng

Dịch vụ lưu trữ đơn giản, được gọi là Amazon S3

AWS S3 là dịch vụ lưu trữ dung lượng lớn, hầu như không giới hạn với những ưu điểm thực sự ấn tượng. Chúng tôi sẽ không bao giờ phải lo lắng về việc bổ sung thêm dung lượng lưu trữ vào cơ sở hạ tầng của mình vì khả năng mở rộng của Amazon sẽ chịu trách nhiệm cung cấp nhiều dung lượng lưu trữ theo yêu cầu, một cách minh bạch và thực tế không thể nhận thấy đối với người dùng cuối cũng như đối với chúng tôi

Amazon S3 Storage có rất nhiều lý do chính đáng để lựa chọn sử dụng nó, nhưng lần này chúng tôi sẽ tập trung vào 3

  • 99. khả dụng 9%
  • Một hệ thống cấp phép để truy cập các tệp, hoàn toàn có thể định cấu hình trong bảng điều khiển AWS của chúng tôi
  • Cho phép lưu trữ tệp từ 0 byte đến 5 gigabyte

AWS S3 với Laravel, sự kết hợp hoàn hảo

Ngày nay, Laravel cung cấp một cách dễ dàng để tải tệp lên Amazon s3. Quá trình thực hiện nó thực sự đơn giản vì Laravel đã mặc định cấu hình để sử dụng khi bạn muốn. Để tích hợp thành công, chúng tôi chỉ yêu cầu thông tin xác thực AWS của mình để truy cập bảng điều khiển nhằm tạo vùng lưu trữ S3 mới. Dễ thôi phải không?
Tiếp theo, chúng ta sẽ tạo một ứng dụng nhỏ để kết hợp tất cả các khái niệm này và xem chúng hoạt động.

CŨNG ĐỌC. ấu trùng 5. 6 so với Symfony 4. Trận chiến khung PHP tốt nhất

Bắt đầu

1. Tạo bản cài đặt sạch của Laravel, trong thiết bị đầu cuối của bạn, bạn có thể chạy lệnh này

laravel new laravel_s3 or composer create-project --prefer-dist laravel/laravel laravel_s3

2. Truy cập liên kết này để thiết lập bộ chứa S3.
2. 1 Nhấp vào Tạo nhóm và nhập tên [tên của các nhóm được chia sẻ trong toàn bộ mạng Amazon S3, vì vậy nếu chúng ta tạo một nhóm thì không ai khác có thể sử dụng tên đó cho nhóm mới].

3. Bây giờ, chúng tôi cần tạo chính sách nhóm, vì vậy chúng tôi cần truy cập liên kết này. Để tạo một chính sách phù hợp, bạn cần lấy hình ảnh sau và chọn DeleteObject, GetObject và PutObject làm hành động. s3 hoặc trình soạn thảo tạo dự án –prefer-dist laravel/laravel laravel_s3

3. 1. Nhấp vào nút Thêm Tuyên bố và sau đó Tạo Chính sách

  1. {
  2. "ID". “Chính sáchXXXXXXXXXXXXX”,
  3. "Phiên bản". “XXXXXXX”,
  4. "Bản tường trình". [
  5. {
  6. “Sid”. “StmtXXXXXXXXXX”,
  7. "Hoạt động". [
  8. “s3. Xóa đối tượng”,
  9. “s3. Nhận đối tượng”,
  10. “s3. PutObject”
  11. ],
  12. "Hiệu ứng". "Cho phép",
  13. "Nguồn". “arn. aws. s3. laravels3demo/hình ảnh”,
  14. "Hiệu trưởng". “*”
  15. }
  16. ]
  17. }

Kết quả json này sẽ được đưa vào tab Chính sách bộ chứa có tại đây

4. Bây giờ, chúng ta sẽ đến đây để lấy Id khóa truy cập và Khóa truy cập bí mật để đưa chúng vào. tập tin env

5. Trong dự án Laravel của chúng ta, chúng ta cần vào terminal và thực hiện lệnh tiếp theo để cài đặt gói S3

composer require league/flysystem-aws-s3-v3

6. Hãy cập nhật mã Laravel

Ghi chú.
Nếu bạn đang sử dụng phiên bản Laravel >= 5. 5, cấu hình AWS sẽ được đăng ký tự động, nếu không, bạn cần làm theo các bước tiếp theo.

1. Mở tệp config/app.php .
2. Thêm 

laravel new laravel_s3 or composer create-project --prefer-dist laravel/laravel laravel_s3
0 vào 
laravel new laravel_s3 or composer create-project --prefer-dist laravel/laravel laravel_s3
1 mảng.
3. Thêm 
laravel new laravel_s3 or composer create-project --prefer-dist laravel/laravel laravel_s3
2 vào 
laravel new laravel_s3 or composer create-project --prefer-dist laravel/laravel laravel_s3
3 mảng.
4. Chạy trong thiết bị đầu cuối của bạn 
composer require league/flysystem-aws-s3-v3
0

CÂN NHẮC

Cách tốt nhất là bạn nên thiết lập thông tin xác thực AWS của mình trong tệp 

composer require league/flysystem-aws-s3-v3
1 để tránh mã hóa cứng tệp 
composer require league/flysystem-aws-s3-v3
2, điều này sẽ giúp bảo mật thông tin bí mật của bạn

6. 1 tuyến đường/web. php

Chủ Đề