s3cmd và AWS CLI là cả hai công cụ dòng lệnh. Chúng rất phù hợp nếu bạn muốn viết kịch bản triển khai của mình thông qua kịch bản lệnh shell (ví dụ: bash).
AWS CLI cung cấp cho bạn khả năng sao chép tệp đơn giản thông qua lệnh "s3", đủ để triển khai một trang web tĩnh đến một thùng S3. Nó cũng có một số lợi thế nhỏ như được cài đặt sẵn trên Amazon Linux, nếu đó là nơi bạn đang làm việc (nó cũng là easily installable through pip
).
Một lệnh AWS CLI rằng có thể thích hợp để đồng bộ hóa một thư mục địa phương để một xô S3:
$ aws s3 sync . s3://mybucket
Full tài liệu về lệnh này: http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
Edit: Như đã đề cập bởi @ simon- buchan trong một bình luận, lệnh aws s3api
cho phép bạn truy cập vào API S3 hoàn chỉnh, nhưng giao diện của nó là "thô" hơn.
s3cmd hỗ trợ mọi thứ AWS CLI, cộng thêm một số chức năng mở rộng hơn ở trên cùng, mặc dù tôi không chắc bạn sẽ yêu cầu bất kỳ chức năng nào cho mục đích của bạn. Bạn có thể xem tất cả các lệnh của nó tại đây: http://s3tools.org/usage
Việc cài đặt s3cmd có thể liên quan hơn một chút vì nó dường như không phải là gói cho nó trong bất kỳ bản chính nào.
boto là thư viện Python và trên thực tế là SDK Python AWS chính thức. AWS CLI, cũng được viết bằng Python, thực sự sử dụng một phần của thư viện boto (botocore). Nó sẽ rất phù hợp nếu bạn đang viết các kịch bản triển khai của mình bằng Python. Có các SDK chính thức cho các ngôn ngữ phổ biến khác (Java, PHP, v.v.) nếu bạn muốn: http://aws.amazon.com/tools/
Hình thức truy cập tới S3 là thông qua REST API của AWS. Mọi thứ khác được xây dựng trên nó tại một số điểm. Nếu bạn cảm thấy mạo hiểm, đây là tài liệu API REST REST của S3: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html
Có bất kỳ điểm chuẩn nào so sánh tốc độ truyền dữ liệu bằng s3cmd với awscli không? – sandeepkunkunuru
Có các gói chính thức 's3cmd' cho Ubuntu: http://packages.ubuntu.com/trusty/s3cmd – Daniel
Ngoài ra, hãy kiểm tra s4cmd. Mặc dù nó không có tất cả các tính năng của s3cmd, hiệu năng của nó chắc chắn tốt hơn các kết nối băng thông cao (ví dụ: EC2), vì nó đa luồng các kết nối. https://github.com/bloomreach/s4cmd – jlevy