Upload, Download, Delete Objects
Once you’ve created a bucket in Akave O3, you can use standard AWS CLI commands to manage your objects. Below are examples using both aws s3api and the simpler aws s3 CLI syntax.
<YOUR_ENDPOINT_URL> in these examples with your specific endpoint URL. Find your endpoint in the Akave Environment page.Upload an Object
Using aws s3api:
aws s3api put-object \
--bucket my-akave-bucket \
--key myfile.txt \
--body ./myfile.txt \
--endpoint-url <YOUR_ENDPOINT_URL>Using aws s3:
aws s3 cp ./myfile.txt s3://my-akave-bucket/myfile.txt \
--endpoint-url <YOUR_ENDPOINT_URL>Multipart Upload Threshold
The AWS CLI uses multipart upload (MPU) to split large files into parts and upload them in parallel. The default threshold is 8MB, meaning any file over 8MB is automatically split — even when it provides no benefit.
For Akave O3, files under ~100MB see little to no difference between single stream and MPU uploads, while files 100MB and above see significantly faster uploads with MPU enabled. We recommend setting the threshold to 100MB:
aws configure set default.s3.multipart_threshold 100MBThis avoids unnecessary multipart overhead for smaller objects while ensuring large uploads benefit from parallel transfer.
Download an Object
Using aws s3api:
aws s3api get-object \
--bucket my-akave-bucket \
--key myfile.txt \
./downloaded-myfile.txt \
--endpoint-url <YOUR_ENDPOINT_URL>Using aws s3:
aws s3 cp s3://my-akave-bucket/myfile.txt ./downloaded-myfile.txt \
--endpoint-url <YOUR_ENDPOINT_URL>List Objects
Using aws s3api:
aws s3api list-objects \
--bucket my-akave-bucket \
--endpoint-url <YOUR_ENDPOINT_URL>Using aws s3:
aws s3 ls s3://my-akave-bucket \
--endpoint-url <YOUR_ENDPOINT_URL>Total Size for All Objects in a Bucket
Using aws s3:
aws s3 ls s3://my-akave-bucket \
--recursive --human-readable --summarize \
--endpoint-url <YOUR_ENDPOINT_URL>Delete an Object
Using aws s3api:
aws s3api delete-object \
--bucket my-akave-bucket \
--key myfile.txt \
--endpoint-url <YOUR_ENDPOINT_URL>Using aws s3:
aws s3 rm s3://my-akave-bucket/myfile.txt \
--endpoint-url <YOUR_ENDPOINT_URL>View an Object’s Root eCID
Objects uploaded using Akave O3 end up on the Akave network shortly after being uploaded depending on network activity. To see an object’s encrypted content identifier (eCID) you can use the head object command with the aws s3api:
aws s3api head-object \
--bucket my-akave-bucket \
--key myfile.txt \
--endpoint-url=<YOUR_ENDPOINT_URL>The eCID is then returned in the Metadata section of the response as Network-Root-Cid:
{
"LastModified": "2024-05-15T00:00:00+00:00",
"ContentLength": 2194339,
"ChecksumType": "FULL_OBJECT",
"ETag": "\"/AUFzg+DN6yA3d95WCR31g==\"",
"MissingMeta": 0,
"VersionId": "V1",
"ContentType": "image/png",
"ServerSideEncryption": "AES256",
"Metadata": {
"Network-File-Name": "4c8da9604c2cea1085d41b446e07c335deae60636feaf4d0fcf6d67cbadabd013ae209ab478f0cde06c7cb03fe",
"Network-Processed": "100",
"Network-Root-Cid": "bafybeicun4bwqcby46mcxicctyob6vjd4lid74k3c4lzfaifl56sghrt3q",
"Network-State": "done"
},
"StorageClass": "default",
"PartsCount": 0
}