bởi Waqar Ahmed Khan | vào ngày 26 tháng 3 năm 2025 | trong Amazon Simple Storage Service (S3), Announcements, Developer Tools, Rust
Chúng tôi rất vui mừng được công bố Bản xem trước dành cho nhà phát triển của Amazon S3 Transfer Manager for Rust, một tiện ích cấp cao giúp tăng tốc và đơn giản hóa việc tải lên và tải xuống với Amazon Simple Storage Service (Amazon S3). Sử dụng thư viện mới này, các nhà phát triển có thể truyền dữ liệu hiệu quả giữa Amazon S3 và nhiều nguồn khác nhau, bao gồm tệp, bộ đệm trong bộ nhớ, luồng bộ nhớ và thư mục. Transfer Manager tự động xử lý các tình huống phức tạp như tải lên nhiều phần song song và tải xuống theo phạm vi byte để mang lại thông lượng và độ tin cậy cao hơn.
Các tính năng và lợi ích chính
- Tự động phân tách yêu cầu: Cải thiện thông lượng bằng cách tự động phân tách các yêu cầu lớn thành các phần nhỏ và xử lý chúng song song trên nhiều kết nối. Điều này khắc phục được hạn chế về băng thông của một kết nối.
- Thử lại tự động: Nâng cao độ tin cậy bằng cách tự động thử lại các khối bị lỗi một cách độc lập, loại bỏ nhu cầu phải khởi động lại toàn bộ quá trình truyền dữ liệu khi xảy ra lỗi không liên tục.
- Đọc song song được tối ưu hóa: Triển khai các hoạt động đọc song song trên các phần khác nhau của các tệp lớn trong quá trình tải lên, mang lại hiệu suất vượt trội so với đọc tuần tự.
- Hoạt động thư mục được đơn giản hóa: Chuyển toàn bộ thư mục hoặc đối tượng chia sẻ tiền tố chung bằng một lệnh gọi API duy nhất, hợp lý hóa hoạt động chuyển hàng loạt.
- Cân bằng tải nâng cao: Tự động tối ưu hóa thông lượng bằng cách điều chỉnh song song động dựa trên khối lượng công việc hiện tại và băng thông mạng.
Bắt đầu
Để bắt đầu sử dụng Transfer Manager, hãy làm theo các ví dụ sau:
Thêm sự phụ thuộc của dự án
Đầu tiên, bạn cần thêm một phụ thuộc mới vào tệp Cargo.toml của mình.

Tạo Trình quản lý chuyển giao
Tạo trình quản lý chuyển giao với các thiết lập mặc định được đề xuất:

Ví dụ về tải tệp lên
Điều này sẽ tải tệp lên bằng cách tự động chia yêu cầu thành các phần nhỏ và tải chúng lên song song.

Tải xuống ví dụ về tệp
Điều này sẽ chia tệp tải xuống thành các phần nhỏ, tải xuống song song và sau đó phân phối chúng theo thứ tự.

Ví dụ về thư mục tải lên
Lệnh này sẽ tải lên đệ quy tất cả các tệp trong thư mục, kết hợp key_prefix đã cho với đường dẫn của từng tệp từ hệ thống tệp. Ví dụ: nếu key_prefix của bạn là “prefix” và đường dẫn của tệp là “test/docs/key.json”, tệp sẽ được tải lên với khóa đối tượng là “prefix/test/docs/key.json”.

Tải xuống ví dụ về thư mục
Điều này sẽ tải xuống mọi đối tượng dưới tiền tố và sẽ tạo một thư mục cục bộ có cấu trúc phân cấp tương tự.

Kết luận
Trình quản lý chuyển giao Amazon S3 cho Rust đơn giản hóa các hoạt động của Amazon S3 với khả năng quản lý tài nguyên hiệu quả và API dễ sử dụng. Chúng tôi mời bạn dùng thử Bản xem trước dành cho nhà phát triển và chia sẻ phản hồi của bạn thông qua các vấn đề trên GitHub. Ý kiến đóng góp của bạn sẽ giúp định hình sự phát triển trong tương lai của thư viện này để đáp ứng nhu cầu của cộng đồng Rust.
Tác Giả
Waqar Ahmed Khan

Waqar là Software Development Engineer làm việc tại đội AWS Common Runtime. Bạn có thể tìm kiếm anh ấy tại Github @waahm7.