Skip to content
Live $100 credit at signup, up to $300 total Offer ends December 31, 2026 Get started →

S3 API Usage

ZSoftly object storage is S3-compatible. Any tool or SDK that supports S3 works with it.

Endpoints:

RegionEndpoint
YUL (Montreal)https://objects.yul.zcp.zsoftly.ca
YOW (Ottawa)https://objects.yow.zcp.zsoftly.ca

Examples below use the YUL endpoint. Substitute YOW if your bucket is in Ottawa.

Configure your client with the regional endpoint and your access keys, then list your buckets. Pick your language:

# Store your credentials once
aws configure set aws_access_key_id <access-key>
aws configure set aws_secret_access_key <secret-key>
# List buckets
aws s3 ls --endpoint-url https://objects.yul.zcp.zsoftly.ca

Once your client (or the AWS CLI) is configured, all standard S3 operations work. Using the AWS CLI:

# Create a bucket
aws s3 mb s3://my-bucket --endpoint-url https://objects.yul.zcp.zsoftly.ca
# Upload a file
aws s3 cp ./file.txt s3://my-bucket/ --endpoint-url https://objects.yul.zcp.zsoftly.ca
# Download a file
aws s3 cp s3://my-bucket/file.txt ./file.txt --endpoint-url https://objects.yul.zcp.zsoftly.ca
# List objects in a bucket
aws s3 ls s3://my-bucket/ --endpoint-url https://objects.yul.zcp.zsoftly.ca
# Delete an object
aws s3 rm s3://my-bucket/file.txt --endpoint-url https://objects.yul.zcp.zsoftly.ca

s3cmd is a standalone command-line client for S3-compatible storage. Install it, then create ~/.s3cfg:

[default]
access_key = <access-key>
secret_key = <secret-key>
host_base = objects.yul.zcp.zsoftly.ca
host_bucket = objects.yul.zcp.zsoftly.ca
use_https = True

This file holds your secret key, so restrict its permissions:

chmod 600 ~/.s3cfg

Setting host_bucket to the same value as host_base, with no bucket placeholder, forces the path-style addressing the service requires. For a bucket in Ottawa, use objects.yow.zcp.zsoftly.ca.

Run the common commands:

s3cmd ls # list your buckets
s3cmd mb s3://my-bucket # create a bucket
s3cmd put ./file.txt s3://my-bucket/ # upload a file
s3cmd get s3://my-bucket/file.txt . # download a file
s3cmd sync ./local-dir/ s3://my-bucket/dir/ # sync a folder
s3cmd rm s3://my-bucket/file.txt # delete an object

See also: Access Keys, Create Bucket