Back

Blog details

AIOZ Storage CLI Quickstart: AWS CLI with a Custom Endpoint

AIOZ Network
4 min readAugust 16, 2026
aioz-storage

Same pattern as every other AIOZ Storage integration this series has covered: there's no AIOZ-specific command-line tool. AIOZ's own CLI documentation is a single flag, --endpoint-url https://s3.aiozstorage.network, added to the standard AWS CLI. This quickstart covers configuring the AWS CLI once, then every bucket and object operation AIOZ's docs list.

TL;DR:

  • Install and configure the standard AWS CLI (aws configure), the same tool used against Amazon S3 itself.
  • Every command follows the pattern aws s3 --endpoint-url https://s3.aiozstorage.network [operation], nothing else changes.
  • AIOZ's own CLI docs don't mention addressing_style at all, unlike the SDKs, which all explicitly require path-style requests, worth knowing if a command ever fails with a hostname-resolution error.

Installing and Configuring the AWS CLI

AIOZ's CLI documentation points directly to AWS's own install and configuration guides, there's no AIOZ-specific installer:

# Install (see AWS's official guide for your OS)
# https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html

aws configure

aws configure asks for an access key ID, secret access key, default region, and output format. Use the access key and secret from your AIOZ Storage access grant (the same credential pair the SDKs authenticate with) and any region string, AIOZ Storage isn't region-partitioned, so the value doesn't route anything, it just needs to be present.

The Endpoint Flag Every Command Needs

AIOZ Storage's S3 endpoint is https://s3.aiozstorage.network. Every aws s3 command in this guide passes it explicitly with --endpoint-url:

aws s3 --endpoint-url https://s3.aiozstorage.network ls

If you're running many commands in one session, exporting it once saves retyping:

export AWS_ENDPOINT_URL=https://s3.aiozstorage.network
aws s3 ls

AWS_ENDPOINT_URL is a standard AWS CLI v2 environment variable, not an AIOZ-specific one, it works the same way against any S3-compatible endpoint.

Terminal window showing lines of command-line code

Bucket Operations

# Create a bucket
aws s3 --endpoint-url https://s3.aiozstorage.network mb s3://my-bucket

# List your buckets
aws s3 --endpoint-url https://s3.aiozstorage.network ls

# Delete an empty bucket
aws s3 --endpoint-url https://s3.aiozstorage.network rb s3://my-bucket

rb only removes empty buckets by default. Add --force to delete a bucket and everything in it in one step, the same behavior as against Amazon S3.

Object Operations

# List objects in a bucket
aws s3 --endpoint-url https://s3.aiozstorage.network ls s3://my-bucket

# Upload a file
aws s3 --endpoint-url https://s3.aiozstorage.network cp ./local-file.txt s3://my-bucket

# Download a file
aws s3 --endpoint-url https://s3.aiozstorage.network cp s3://my-bucket/local-file.txt ./downloaded.txt

# Copy an object within AIOZ Storage
aws s3 --endpoint-url https://s3.aiozstorage.network cp s3://my-bucket/file.txt s3://my-bucket/file-copy.txt

# Delete one object
aws s3 --endpoint-url https://s3.aiozstorage.network rm s3://my-bucket/local-file.txt

# Delete every object under a prefix
aws s3 --endpoint-url https://s3.aiozstorage.network rm s3://my-bucket/ --recursive

cp handles both directions based on which side of the command has the s3:// prefix, upload when it's the destination, download when it's the source. There's no separate upload/download command to remember.

Close-up of code displayed on a computer screen

If a Command Fails to Resolve the Endpoint

AIOZ's CLI docs list these commands with no additional configuration beyond --endpoint-url, and the AWS CLI's default addressing_style is auto, which falls back from virtual-hosted-style (bucket.endpoint/key) to path-style (endpoint/bucket/key) automatically for bucket names that aren't valid as DNS labels. That covers most cases. If you hit a hostname-resolution error on an otherwise-valid bucket name, force path style explicitly the same way the JavaScript, Python, and Go SDKs all require it:

# ~/.aws/config
[profile aioz-storage]
region = us-east-1
s3 =
    addressing_style = path

Then run commands with --profile aioz-storage, or set AWS_PROFILE=aioz-storage.

Frequently Asked Questions

Is there a dedicated AIOZ Storage CLI?
No. AIOZ Storage's S3-compatible API works with the standard AWS CLI, pointed at a custom endpoint with --endpoint-url https://s3.aiozstorage.network.

Do I need a separate account or API key for the CLI versus the SDKs?
No, the same access grant credentials (access key ID and secret access key) work for the CLI, the SDKs, and Postman.

Can I avoid retyping --endpoint-url on every command?
Yes, export AWS_ENDPOINT_URL=https://s3.aiozstorage.network once per shell session, or set a named profile's config to always use it.

Does aws s3 rb delete a bucket that still has files in it?
No, not by default. Add --force to delete the bucket and its contents together.

Do I need to set addressing_style to path for the CLI, like the SDKs require?
AIOZ's own CLI docs don't mention it, and the CLI's default auto mode falls back to path style automatically for DNS-incompatible bucket names. If a command fails to resolve the endpoint on a valid bucket name, setting addressing_style = path explicitly in your AWS config profile is the same fix the SDKs require by default.

Does aws s3 cp sync entire folders, or only single files?
cp handles both, add --recursive to copy a whole local directory or an entire bucket prefix in one command.

References

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

How Automatic MIME Type Detection Works on AIOZ Storage

Automatic MIME type detection on AIOZ Storage uses Google Magika to identify a file's type from its content when Content-Type is missing. How it actually works.

aioz-storage
5 min readSeptember 07, 2026
blog thumbnail

AIOZ Storage Developer Platform: SDKs, CLI, and Migrations

The AIOZ storage developer platform in one place: three SDKs, a CLI, direct API access, two migration paths, and the one config pattern tying it all together.

aioz-storage
6 min readSeptember 06, 2026
blog thumbnail

The 3-2-1 Backup Rule: A Practical Framework Explained

The 3-2-1 backup rule: three copies, two media, one off-site. Why it still holds up, why ransomware forced a 3-2-1-1-0 update, and where AIOZ Storage fits.

aioz-storage
8 min readSeptember 05, 2026
blog thumbnail

RBAC vs ABAC vs Capability-Based Access Control Explained

RBAC vs ABAC vs capability-based access control: three different answers to who can do what. NIST defines the first two, AIOZ Storage macaroons are the third.

aioz-storage
8 min readSeptember 04, 2026
blog thumbnail

What Is a CDN and How Does It Relate to Object Storage?

What is a CDN: a network of cached servers placed near users to cut latency. How it sits in front of an origin like S3, and where AIOZ Storage fits in.

aioz-storage
7 min readSeptember 03, 2026
blog thumbnail

Hot vs Cold Storage: Storage Tiers and When They Matter

Hot vs cold storage: hot tiers cost more to store but less to access, cold tiers flip that trade. How AWS and Azure structure it, and where AIOZ Storage fits.

aioz-storage
8 min readSeptember 02, 2026