a S3 Rich Support client - multi config - AWS4, AWS2 support - TODO: implent region support (currently use us-east-1)and virtual-hosted-style
current status:
| function | descrrption | CEPH | AWS | |-----------------------------------|---------------------------------------------|------|-----| | la | list all objects | O | ? | | ls | list bucket | O | ? | | ls [bucket] | list objects in the bucket | O | ? | | ls s3://[bucket] | list objects in the bucket | O | ? | | mb [bucket] | create bucket | O | ? | | rb [bucket] | delete bucket | O | ? | | put [file] s3://[bucket]/[object] | upload the file sepcific object name | O | ? | | put [file] s3://[bucket] | upload the file use file name as objec name | O | ? | | put test s3://[bucket]/[object] | upload a test file sepcific object name | O | ? | | get s3://[bucket]/[object] file | download objec | O | ? | | get s3://[bucket]/[object] | download objec in current folder | O | ? | | cat s3://[bucket]/[object] | show the object content | O | ? | | del s3://[bucket]/[object] | delete the object | O | ? | | /uri?query | give the orignal url | O | ? | |-----------------------------------|---------------------------------------------|------|-----| | s3_type [ceph/aws/aws4/aws2] | change the api for different S3 providor | | | | log [trace/debug/info/erro] | change the log level | | | | | - Debug: for auth signature hash info | | | | | - Info: for Http header and body | | |
| s3 type | auth type | format | virtual-hosted–style path-style | |----------|-----------|--------|---------------------------------| | ceph | aws4 | json | path style | | aws/aws4 | aws4 | xml | path style |
Please download and install Rust and Cargo (Rust package manager) - Install Rust - Install Cargo
Clone the code
git clone https://github.com/yanganto/s3rs.git
cargo build --release
./target/release/s3rs
cargo install s3rs