S3QL
Query Language inspired by SQL for S3.
Usage
TODO
Local development
For local development rust, cargo, python, pip and docker are required. To setup a local S3 with localstsack you can execute make setup and to start a S3 with localstack you can execute make s3.
- S3 will be at http://localhost:4566
TODO:
- more tests
- example usage
- docs
- auth (S3CLient can have auth by using directly
rusoto_s3::S3Clientor functions3_client_withwith featureauth)
Buckets:
- Create Bucket -
create_s3_bucket - Drop Bucket -
drop_s3_bucket - Has Bucket -
has_s3_bucket - Show Buckets -
show_s3_buckets
Transactions:
- Insert Object -
insert_s3_object - Update Object Metadata -
update_s3_object_metadata - Update Object Body -
update_s3_object_body
Direct Read:
- Read Object -
read_s3_object - Read Object Body -
read_s3_object_body - Has Object -
has_s3_object - Show Objects in Bucket -
show_s3_objects
Query
- Select object content (AWS and localstack-pro ONLY)
- All of Query Object in bucket
- Conditionals https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference-conditional.html
- Cast https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference-conversion.html
- Date Functions https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference-date.html
- String Functions https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference-string.html