Upload, Download, Delete Objects

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.

ℹ️
Important: Replace <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>
ℹ️
Akave O3 supports safe characters for object naming only. If using characters that require special handling please be aware that these are not fully supported and may cause issues with the O3 API. See Naming Amazon S3 objects for more information.

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
}
Last updated on