Object Storage: CLI and SDK reference
Kort antwoord
Connect to Object Storage with the AWS CLI, rclone, or boto3 by pointing each one at your project's Worldstream S3 endpoint and credentials. None of them talk to Object Storage by default, and none of them talk to AWS.
Worldstream is not Amazon AWS: These tools speak the S3 protocol, not AWS specifically. Every call needs your Worldstream S3 endpoint set explicitly, whether that's
--endpoint-urlon the AWS CLI,endpointin an rclone remote, orendpoint_urlin boto3. Leave it out and the tool falls back to its own AWS defaults, which don't reach your buckets. Theaws_*field names (aws_access_key_id,aws_secret_access_key) are just what the AWS CLI and boto3 call their credential fields; they hold your Worldstream Access Key and Secret Key, not an AWS account.
Where to find your connection details
Open Object Storage in Portal and select your project. The S3 Endpoint, Region, Access Key, and Secret Key are shown per project. Reveal or rotate the keys from there; don't guess at the endpoint slug, it's unique to your project.
Mapping portal fields to each tool
| Portal field | AWS CLI | rclone | boto3 |
|---|---|---|---|
| S3 Endpoint | --endpoint-url on every command | endpoint in the remote config | endpoint_url |
| Region | aws configure set default.region | region in the remote config | region_name |
| Access Key | aws configure set aws_access_key_id | access_key_id | aws_access_key_id |
| Secret Key | aws configure set aws_secret_access_key | secret_access_key | aws_secret_access_key |
AWS CLI
Set your credentials and region once, then pass --endpoint-url on every call. It's easy to forget on a one-off command; if a call seems to hang or hit AWS instead of Worldstream, check the endpoint flag first.
aws configure set aws_access_key_id "<access-key>"
aws configure set aws_secret_access_key "<secret-key>"
aws configure set default.region "<region>"
ENDPOINT="<s3-endpoint>"
BUCKET="<bucket-name>"
aws s3api list-buckets --endpoint-url "$ENDPOINT"
aws s3api put-object --endpoint-url "$ENDPOINT" --bucket "$BUCKET" --key path/to/object.txt --body ./object.txtrclone
Add a remote to ~/.config/rclone/rclone.conf with provider = Other, then use it like any other rclone remote.
[worldstream]
type = s3
provider = Other
access_key_id = <access-key>
secret_access_key = <secret-key>
endpoint = <s3-endpoint>
region = <region>rclone lsd worldstream:
rclone copy ./data worldstream:my-bucket/backups/ --progress
rclone sync ./local worldstream:my-bucket/path/rclone's S3 backend doesn't cover the whole S3 API surface, and what it covers varies by rclone version. For lifecycle, Object Lock and ownership work, reach for aws s3api or boto3 instead.
boto3 (Python)
import boto3
from botocore.client import Config
s3 = boto3.client(
"s3",
endpoint_url="<s3-endpoint>",
aws_access_key_id="<access-key>",
aws_secret_access_key="<secret-key>",
region_name="<region>",
config=Config(signature_version="s3v4"),
)
s3.upload_file("./object.txt", "my-bucket", "path/to/object.txt")
s3.download_file("my-bucket", "path/to/object.txt", "./downloaded.txt")What's supported
Object Storage speaks the S3 protocol, so the standard object operations work through any S3 tool: put, get, head, copy, delete, and multipart upload for large files. Coverage of the wider S3 API surface varies, so check Portal's own Object Storage CLI & SDK guide under Support → Documentation for the current list before you build against a specific API call.
One thing to decide before you start: Object Lock is an option when you create a bucket, and it cannot be disabled after creation. If you want it, enable it at creation time.
Limits: Size and count limits are enforced by the API itself. If you hit one, the S3-compatible API returns an error naming it directly, and that is the authoritative answer at the moment it matters.
Mounting a bucket as a local drive
Some teams mount a bucket as a filesystem with community tools such as rclone mount, s3fs-fuse, or goofys, all pointed at your Worldstream S3 endpoint the same way as above. These are third-party tools, not something Worldstream builds or officially documents, so test them against your own workload before relying on them in production.