Connect an S3 client

Point an S3-compatible SDK at Sqrzl's local API endpoint.

Connection settings

Endpoint
http://localhost:9000
Region
us-east-1
Signature
AWS Signature Version 4
Addressing
Path style

With the default Compose authentication, use admin and sqrzl-secret as the access key and secret. If authentication is disabled, SDK placeholder credentials are accepted.

Python example

Install boto3, then create a bucket and write an object:

import boto3
from botocore.config import Config

s3 = boto3.client(
    "s3",
    endpoint_url="http://localhost:9000",
    aws_access_key_id="admin",
    aws_secret_access_key="sqrzl-secret",
    region_name="us-east-1",
    config=Config(signature_version="s3v4", s3={"addressing_style": "path"}),
)

s3.create_bucket(Bucket="example-bucket")
s3.put_object(Bucket="example-bucket", Key="hello.txt", Body=b"hello")

Large uploads

Sqrzl supports S3 multipart upload within the documented compatibility limits. The default request body limit is 128 MiB per request, so use parts below that size or raise SQRZL_MAX_REQUEST_BYTES.

Check the compatibility matrix for supported S3 operations.