Created on 12-21-2018 04:31 AM
Install AWS CLI from the steps provided in the below link
https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html
Verify AWS CLI installation
$aws --version
Configure AWS credentials
$aws configure
Download Ozone 0.3.0-alpha tarball from here, untar it.
Go to the $PWD/ozone-0.3.0-aplha/compose/ozones3 directory, and start the server: docker-compose up -d
Create alias command
alias ozones3api='aws s3api --endpoint http://localhost:9878'
Create bucket:
$ ozones3api create-bucket --bucket documents
Put objects to bucket:
$ ozones3api put-object --bucket documents --key S3Doc --body ./S3.md $ ozones3api put-object --bucket documents --key hddsDoc --body ./Hdds.md$ ozones3api put-object --bucket documents --key javaDoc --body ./JavaApi.md
List objects in a bucket:
$ ozones3api list-objects --bucket documents {"Contents": [{"LastModified": "2018-11-02T21:57:40.875Z","ETag": "1541195860875","StorageClass": "STANDARD","Key": "hddsDoc","Size": 2845},{"LastModified": "2018-11-02T22:36:23.358Z","ETag": "1541198183358","StorageClass": "STANDARD","Key": "javaDoc","Size": 5615},{"LastModified": "2018-11-02T21:56:47.370Z","ETag": "1541195807370","StorageClass": "STANDARD","Key": "s3doc","Size": 1780}]}
Get Object from a Bucket:
$ ozones3api get-object --bucket documents --key hddsDoc /tmp/hddsDoc {"ContentType": "application/octet-stream","ContentLength": 2845,"Expires": "Fri, 02 Nov 2018 22:39:00 GMT","CacheControl": "no-cache","Metadata": {}}
Head Bucket:
$ ozones3api head-bucket --bucket documents
Head Object:
$ ozones3api head-object --bucket documents --key hddsDoc {"ContentType": "binary/octet-stream","LastModified": "Fri, 2 Nov 2018 21:57:40 GMT","ContentLength": 2845,"Expires": "Fri, 02 Nov 2018 22:41:55 GMT","ETag": "1541195860875","CacheControl": "no-cache","Metadata": {}}
Copy Object:
This is used to create a copy object which already exists in Ozone.
Suppose, we want to take a backup of keys in documents bucket in to a new bucket, we can use this.
1. Create a destination bucket.
$ ozones3api create-bucket --bucket documentsbackup {"Location": "http://localhost:9878/documentsbackup"}
2. Copy object from source to destination bucket
$ ozones3api copy-object --bucket documentsbackup --key s3doc --copy-source documents/s3doc {"CopyObjectResult": {"LastModified": "2018-11-02T22:49:20.061Z","ETag": "21df0aee-26a9-464c-9a81-620f7cd1fc13"}}
3. List objects in destination bucket.
$ ozones3api list-objects --bucket documentsbackup {"Contents": [{"LastModified": "2018-11-02T22:49:20.061Z","ETag": "1541198960061","StorageClass": "STANDARD","Key": "s3doc","Size": 1780}]}
Delete Object:
We have 2 ways to delete.
Ozone over S3 supports both of them.
$ ozones3api delete-object --bucket documents --key hddsDoc
Multi Delete:
$ ozones3api delete-objects --bucket documents --delete 'Objects=[{Key=javaDoc},{Key=s3Doc}]' {"Deleted": [{"Key": "javaDoc"},{"Key": "s3Doc"}]}