Lưu trữ tệp: S3 (Pro)
Giới thiệu
Trên cơ sở plugin quản lý tệp, bổ sung loại lưu trữ tệp tương thích với giao thức S3. Mọi dịch vụ lưu trữ đối tượng hỗ trợ giao thức S3 đều có thể dễ dàng tích hợp, chẳng hạn như Amazon S3, Alibaba Cloud OSS, Tencent Cloud COS, MinIO, Cloudflare R2, v.v., giúp nâng cao hơn nữa tính tương thích và linh hoạt của dịch vụ lưu trữ.
Đặc điểm tính năng
-
Tải lên từ phía máy khách: Quá trình tải tệp lên không cần đi qua máy chủ NocoBase mà kết nối trực tiếp với dịch vụ lưu trữ tệp, mang lại trải nghiệm tải lên hiệu quả và nhanh chóng hơn.
-
Truy cập riêng tư: Khi truy cập tệp, t ất cả URL đều là địa chỉ ủy quyền tạm thời đã được ký, đảm bảo tính bảo mật và thời hạn hiệu lực của việc truy cập tệp.
Trường hợp sử dụng
-
Quản lý bảng tệp: Tập trung quản lý và lưu trữ tất cả tệp đã tải lên, hỗ trợ nhiều loại tệp và phương thức lưu trữ, thuận tiện cho việc phân loại và tìm kiếm tệp.
-
Lưu trữ trường tệp đính kèm: Dùng để lưu trữ dữ liệu tệp đính kèm được tải lên trong biểu mẫu hoặc bản ghi, hỗ trợ liên kết với các bản ghi dữ liệu cụ thể.
Cấu hình plugin
-
Bật plugin plugin-file-storage-s3-pro
-
Nhấp vào "Setting-> FileManager" để vào phần cài đặt quản lý tệp
-
Nhấp vào nút "Add new", chọn "S3 Pro"

- Sau khi lớp nổi xuất hiện, bạn sẽ thấy biểu mẫu cần điền có khá nhiều nội dung. Bạn có thể tham khảo tài liệu bên dưới để lấy thông tin tham số tương ứng của dịch vụ tệp và điền chính xác vào biểu mẫu.

Cấu hình nhà cung cấp dịch vụ
Amazon S3
Tạo Bucket
-
Mở https://ap-southeast-1.console.aws.amazon.com/s3/home để vào bảng điều khiển S3
-
Nhấp vào nút "Create bucket" ở bên phải

- Nhập Bucket Name (tên bucket), các trường khác có thể giữ nguyên cài đặt mặc định, cuộn xuống cuối trang và nhấp vào nút "Create" để hoàn tất việc tạo.


Cấu hình CORS
- Vào danh sách buckets, tìm và nhấp vào Bucket vừa tạo để vào trang chi tiết

- Nhấp vào tab "Permission", sau đó cuộn xuống để tìm phần cấu hình CORS


- Nhập cấu hình sau (có thể tinh chỉnh cấu hình theo nhu cầu), sau đó lưu

Lấy AccessKey và SecretAccessKey
- Nhấp vào nút "Security credentials" ở góc trên bên phải trang

- Cuộn xuống, tìm phần "Access Keys" và nhấp vào nút "Create Access Key".

- Nhấp vào Đồng ý (ở đây minh họa bằng tài khoản chính; trong môi trường chính thức, khuyến nghị sử dụng IAM để thực hiện).

- Lưu Access key và Secret access key hiển thị trên trang

Lấy và cấu hình tham số
-
AccessKey ID và AccessKey Secret là các giá trị tương ứng lấy được ở bước trước, hãy điền chính xác
-
Vào bảng properties của trang chi tiết bucket, bạn có thể lấy thông tin Bucket và Region (khu vực).

Truy cập công khai (tùy chọn)
Đây là cấu hình không bắt buộc, chỉ thực hiện khi bạn cần công khai hoàn toàn các tệp đã tải lên
- Vào bảng Permissions, cuộn xuống Object Ownership, nhấp vào chỉnh sửa và bật ACLs

- Cuộn xuống Block public access, nhấp vào chỉnh sửa và thiết lập cho phép ACLs kiểm soát

- Trong NocoBase, chọn Public access
Cấu hình hình thu nhỏ (tùy chọn)
Đây là cấu hình tùy chọn, dùng khi cần tối ưu kích thước hoặc hiệu ứng xem trước hình ảnh. Lưu ý rằng phương án triển khai này có thể phát sinh chi phí bổ sung; vui lòng tham khảo các điều khoản liên quan của AWS để biết chi phí cụ thể.
-
Truy cập Dynamic Image Transformation for Amazon CloudFront.
-
Nhấp vào nút
Launch in the AWS Consoleở cuối trang để bắt đầu triển khai phương án.
-
Làm theo hướng dẫn để hoàn tất cấu hình. Cần đặc biệt chú ý đến các tùy chọn sau:
- Khi tạo stack, bạn cần chỉ định tên bucket Amazon S3 chứa hình ảnh nguồn. Vui lòng nhập tên bucket đã tạo trước đó.
- Nếu chọn triển khai giao diện người dùng demo, sau khi triển khai hoàn tất, bạn có thể kiểm tra chức năng xử lý hình ảnh thông qua giao diện này. Trong bảng điều khiển AWS CloudFormation, chọn stack của bạn, chuyển đến tab “Outputs”, tìm giá trị tương ứng với khóa DemoUrl và nhấp vào liên kết đó để mở giao diện demo.
- Phương án này sử dụng thư viện
sharpNode.js để xử lý hình ảnh hiệu quả. Bạn có thể tải mã nguồn từ kho GitHub và tùy chỉnh theo nhu cầu.

-
Sau khi hoàn tất cấu hình, hãy chờ trạng thái triển khai chuyển thành
CREATE_COMPLETE. -
Trong cấu hình NocoBase, cần lưu ý các điểm sau:
Thumbnail rule: Điền các tham số liên quan đến xử lý hình ảnh, chẳng hạn như?width=100. Tham khảo tài liệu AWS để biết thêm chi tiết.Access endpoint: Điền giá trị của Outputs -> ApiEndpoint sau khi triển khai.Full access URL style: Chọn Ignore (vì tên bucket đã được điền khi cấu hình nên không cần thêm khi truy cập).

Ví dụ cấu hình

Alibaba Cloud OSS
Tạo Bucket
- Mở bảng điều khiển OSS https://oss.console.aliyun.com/overview

- Vào menu "Buckets" ở bên trái, sau đó nhấp vào nút "Create Bucket" để bắt đầu tạo bucket

-
Nhập thông tin liên quan đến bucket, cuối cùng nhấp vào nút Create
-
Bucket Name phù hợp với nghiệp vụ của bạn, tên tùy ý
-
Region chọn khu vực gần người dùng của bạn nhất
-
Các nội dung khác có thể giữ mặc định hoặc tự cấu hình theo nhu cầu
-

Cấu hình CORS
- Vào trang chi tiết của bucket đã tạo ở bước trước

- Nhấp vào "Content Security -> CORS" trong menu ở giữa

- Nhấp vào nút "Create Rule", điền các nội dung liên quan, cuộn xuống dưới và nhấp vào "OK". Bạn có thể tham khảo ảnh chụp màn hình bên dưới hoặc thực hiện các cài đặt chi tiết hơn

Lấy AccessKey và SecretAccessKey
- Nhấp vào "AccessKey" bên dưới ảnh đại diện ở góc trên bên phải

-
Để thuận tiện minh họa, ở đây sử dụng tài khoản chính để tạo AccessKey; trong môi trường chính thức, khuyến nghị sử dụng RAM để tạo, có thể tham khảo https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair-1?spm=5176.28366559.0.0.1b5c3c2fUI9Ql8#section-rjh-18m-7kp
-
Nhấp vào nút "Create AccessKey"

- Thực hiện xác minh tài khoản

- Lưu Access key và Secret access key hiển thị trên trang

Lấy và cấu hình tham số
-
AccessKey ID và AccessKey Secret là các giá trị lấy được ở bước trước
-
Vào trang chi tiết bucket để lấy Bucket

- Cuộn xuống để lấy Region (không cần phần ".aliyuncs.com" phía sau)

- Lấy địa chỉ endpoint; khi điền vào NocoBase cần thêm tiền tố https://

Cấu hình hình thu nhỏ (tùy chọn)
Đây là cấu hình tùy chọn, chỉ sử dụng khi cần tối ưu kích thước hoặc hiệu ứng xem trước hình ảnh.
-
Điền các tham số liên quan đến
Thumbnail rule. Tham khảo các tham số xử lý hình ảnh để biết cài đặt cụ thể. -
Full upload URL stylevàFull access URL stylechỉ cần giữ giống nhau.
Ví dụ cấu hình

MinIO
Tạo Bucket
- Nhấp vào menu Buckets ở bên trái -> nhấp vào Create Bucket để vào trang tạo
- Nhập tên Bucket, sau đó nhấp vào nút lưu
Lấy AccessKey và SecretAccessKey
- Vào Access Keys -> nhấp vào nút Create access key để vào trang tạo

- Nhấp vào nút lưu

- Lưu Access Key và Secret Key trong cửa sổ bật lên để sử dụng cho cấu hình sau

Cấu hình tham số
-
Vào trang NocoBase -> File manager
-
Nhấp vào nút Add new, chọn S3 Pro
-
Điền biểu mẫu
- AccessKey ID và AccessKey Secret là các giá trị đã lưu ở bước trước
- Region: MinIO triển khai riêng không có khái niệm Region, có thể cấu hình thành "auto"
- Endpoint: Điền tên miền dịch vụ hoặc địa chỉ IP đã triển khai
- Cần đặt Full access URL style thành Path-Style
Ví dụ cấu hình

Tencent COS
Có thể tham khảo dịch vụ tệp ở trên để cấu hình, logic tương tự
Ví dụ cấu hình

Cloudflare R2
Có thể tham khảo dịch vụ tệp ở trên để cấu hình, logic tương tự
Ví dụ cấu hình

Cách sử dụng
Tham khảo hướng dẫn sử dụng plugin file-manager tại https://docs.nocobase.com/data-sources/file-manager/.

