Yet another S3 command-line, but environment variables driven, with per bucket (or per profile) credentials.
NOTE: Experimental v0.0.5
is somewhat feature complete.
Key points:
- Use the official AWS-SDK-S3
- Environment variables driven
- Will mimic most of the official aws s3 ...
command line (however, does not intend to be too dogmatic)
- Will eventually provide a lib as well.
Note: Tested on Mac and Linux (might not work on Windows for now)
```sh
cargo install ss3
binst install ss3 ```
```sh
ss3 ls s3://my-bucket -r
ss3 ls s3://my-bucket -r --info
ss3 cp ./image-01.jpg s3://my-bucket/my-folder
ss3 cp ./ s3://my-bucket/my-folder/ -r
ss3 cp ./ s3://my-bucket/my-folder/ -e "*.mp4" -r
ss3 cp ./ s3://my-bucket/my-folder/ -i ".mp4" -i ".jpg" -r
ss3 cp s3://my-bucket/image-01.jpg ./.downloads/
ss3 cp s3://my-bucket/my-folder/ ./.downloads/ -r ```
Here is the order in which the credentials will be resolved:
SS3_BUCKET_...
environments for the given bucket
SS3_BUCKET_bucket_name_KEY_ID
SS3_BUCKET_bucket_name_KEY_SECRET
SS3_BUCKET_bucket_name_REGION
SS3_BUCKET_bucket_name_ENDPOINT
(optional for minio) --profile profile_name
, check the following SS3_PROFILE_...
environments
SS3_PROFILE_profile_name_KEY_ID
SS3_PROFILE_profile_name_KEY_SECRET
SS3_PROFILE_profile_name_REGION
SS3_PROFILE_profile_name_ENDPOINT
(optional for minio) --profile profile_name
, and no profile environments, will check default AWS config filesAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION
NOTE: '-' characters in profile and bucket names will be replaced by '_' for environment names above.